鸿蒙OS RandomAccess

RandomAccess

public interface RandomAccess

List 实现使用的标记接口表明它们支持快速(通常是恒定时间)随机访问。此接口的主要目的是允许通用算法在应用于随机或顺序访问列表时改变其行为以提供良好的性能。

用于操作随机访问列表(例如 ArrayList)的最佳算法在应用于顺序访问列表(例如 LinkedList)时会产生二次行为。鼓励通用列表算法在应用算法之前检查给定列表是否是此接口的实例,如果将其应用于顺序访问列表会提供较差的性能,并在必要时更改它们的行为以保证可接受的性能。

众所周知,随机访问和顺序访问之间的区别通常是模糊的。例如,如果某些 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 集合框架的成员。

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《鸿蒙OS RandomAccess》
文章链接:https://zhuji.vsping.com/313727.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。