ArrayList实现的接口有:
- List<E>
- RandomAccess 随机访问,实现后可以快速
- Cloneable
- java.io.Serializable
RandomAccess
ArrayList和LinkedList都实现了List,但是LinkedList没有实现RandomAccess。
因为实现的不同,两者遍历的开销不同。
从上图实验结果可知ArrayList用for循环效率高,LinkedList使用迭代器效率高。
我们在使用时就需要根据List的不同选用不同的方法。
但是,如果是他们的父类List,怎么知道是哪种用什么方法呢,这就使用RandomAccess来区分。