public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable
打开ArrayList源码,发现实现了RandomAccess接口。那么这个接口是干什么的呢。
RandomAccess字面意思是随机访问。
但是打开RandomAccess接口,发现里面是空的。没有任何方法。
@since 1.4 并且是1.4版本才引入的。
通过官网的API,是这么描述的
Marker interface used by List implementations to indicate that they support fast (generally constant time) random access.
列表实现使用的标记接口,表示它们支持快速(通常是常量时间)随机访问。
官网还特意说明了,如果是实现了这个接口的 List,那么使用for循环的方式获取数据会优于用迭代器获取数据。
网友评论