为什么ArrayList实现RandomAccess接口?


问题内容

ArrayList实现RandomAccess接口。RandomAccess接口没有方法。当我检查LinkedList它没有实现RandomAccess接口。

那么,在ArrayList实现的意义何在?


问题答案:

没有方法的接口在Java中称为标记接口。

根据RandomAccess的JavaDoc:

List实现使用的标记接口,指示
它们支持快速(通常为恒定时间)随机访问。

有关更多信息,请检查两个JavaDoc页面。

http://docs.oracle.com/javase/6/docs/api/java/util/RandomAccess.html

http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html