Wondercease

浙ICP备2022017321号

RandomAccess接口

jdk中有个RandomAccess接口,这是一个标记接口(Marker),它没有任何方法,这个接口被List的实现类(子类)使用。如果List子类实现了RandomAccess接口,那就表示它能够快速随机访问存储的元素。RandomAccess接口的意义在于:在对列表进行随机或顺序访问的时候,访问算法能够选择性能最佳方式。

一般的列表访问算法在访问列表元素之前,都被建议先使用instanceof关键字检查一下列表是否是一个RandomAccess子类,然后再决定采用随机还是顺序方式访问列表中的元素,这样可以保证访问算法拥有最佳的性能。

对于List的子类,如果:

for (int i=0, n=list.size(); i < n; i++)

的访问方式比:

for (Iterator i=list.iterator(); i.hasNext(); )

快,那么它应该实现RandomAccess接口。

发表评论

您的电子邮箱地址不会被公开。