-
- 所有已知实现类:
-
ArrayList,AttributeList,CopyOnWriteArrayList,RoleList,RoleUnresolvedList,Stack,Vector
public interface RandomAccessList实现使用的标记接口表示它们支持快速(通常是恒定时间)随机访问。 此接口的主要用途是允许通用算法更改其行为,以便在应用于随机或顺序访问列表时提供良好的性能。操作随机访问列表(例如
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