Module  java.base
软件包  java.util

Interface RandomAccess

  • 所有已知实现类:
    ArrayListAttributeListCopyOnWriteArrayListRoleListRoleUnresolvedListStackVector


    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