ArrayList和LinkedList的比较
回顾:List在Collection中的的框架图
可以看出
- ArrayList、LinkedList、Vector和Stack是List的四个实现类。
- LinkedList是个双向链表,它同样可以被当作栈、队列或双端队列来使用。特别是作为双向链表的使用
-
实现的原理
ArrayList基于动态数组实现,LinkedList基于链表实现 -
由二者的实现原理不难看出,ArrayList访问和更新方便(直接通过下表),但是增删比较麻烦(需要逐个移动),开销较大;而LinkedList访问和更新麻烦(LinkedList要移动指针),但是 增删相对比较容易,开销较小。