关于java集合框架接口RandomAccess的理解

深碍√TFBOYSˉ_ 2022-10-31 14:58 299阅读 0赞

RandomAccess接口是一个空接口,空接口的作用一般起到一个标识作用,比如:Serializable 接口。
RandomAccess接口里面的文档说明大致意思:给可以提供随机访问的List实现去标识一下,这样使用这个List的程序在遍历这种类型的List的时候可以有更高效率。仅此而已。
这句话隐含的意思就是只要支持快速随机访问的集合类都应该实现这个接口,那么与之对应的支持顺序访问的集合类就不应该实现这个接口。

例如

bee760fd46fe9c83047f0516496ad358.png

2f303adccc892bb00e42f8b6abf36f33.png

所以,我们在遍历List之前,可以用 if( list instanceof RandomAccess ) 来标识一下,选择用哪种遍历方式。就这点小技巧。

例如Collections里的fill方法

6fdcd8554a9d9e0566cbfc81e5bcd2c4.png

发表评论

表情:
评论列表 (有 0 条评论,299人围观)

还没有评论,来说两句吧...

相关阅读

    相关 RandomAccess接口作用

    通过源码我们得知该RandomAccess是一个空的接口?为什么是空的接口呢?那它的作用到底是用来干嘛的呢? 又有谁实现了它呢?实现这个接口又有什么用呢? 带着问题我们先