【发布时间】:2012-11-25 02:35:51
【问题描述】:
我在看Collections.shuffle(List) javadoc,然后看了RandomAccess javadoc:
List 实现使用的标记接口来指示它们 支持快速(通常是恒定时间)随机访问。 [...]
我想知道为什么这个接口(如 Serializable)没有方法?这样做的设计原因是什么?
即使只是Lists“实现”这个接口,为什么不设置Eget()作为方法呢?我知道不是每个列表都是随机访问的,但是如果没有方法,我该如何使用这个接口?
类似这样的:
if(object instanceof RandomAccess){
// should I cast it if no operations can be done? why?
}
另外,只有Lists可以是RandomAccess?文件呢?
【问题讨论】:
-
正如 javadoc 所说,它是一个 "marker" 接口,并且根据定义不会有方法。它标记了具有快速随机访问的 List 实现,因此使用该实现的人会知道他们正在使用的类已经过优化。
标签: java collections random-access