ArrayList和LinkedList的区别
- 实现接口不同。两个都实现了List接口,LinkedList还实现了Deque接口。
- 底层实现不同。ArrayList是基于数组实现,LinkedList是基于链表实现。
- 效率存在差异。由于底层实现不同,ArrayList使用get(index)获取数据时,效率极高。但是如果使用添加或删除元素则会涉及到数据的扩容和复制、移动等操作,效率降低,所以ArrayList更适合查询。LinkedList由于时基于链表实现,在查找时必须对链表进行遍历操作,所以查询效率相对较差,更适合插入和删除操作。