-
- 所有已知实现类:
-
ArrayList
,AttributeList
,CopyOnWriteArrayList
,RoleList
,RoleUnresolvedList
,Stack
,Vector
public interface RandomAccess
List
实现使用的标记接口表示它们支持快速(通常是恒定时间)随机访问。 此接口的主要用途是允许通用算法更改其行为,以便在应用于随机或顺序访问列表时提供良好的性能。操作随机访问列表(例如
ArrayList
)的最佳算法在应用于顺序访问列表(例如LinkedList
)时可能会产生二次行为。 鼓励使用通用列表算法来检查给定列表是否为instanceof
此接口,然后再应用将在应用于顺序访问列表时性能较差的算法,并在必要时更改其行为以保证可接受的性能。人们认识到随机和顺序访问之间的区别通常是模糊的。 例如,一些
List
实现提供渐近线性访问时间,如果它们变大,但在实践中持续访问时间。 这样的List
实现通常应该实现该接口。 根据经验,List
实现应该实现此接口,如果对于类的典型实例,此循环:for (int i=0, n=list.size(); i < n; i++) list.get(i);
运行速度比这个循环快:for (Iterator i=list.iterator(); i.hasNext(); ) i.next();
此接口是Java Collections Framework的成员。
- 从以下版本开始:
- 1.4