ArrayList和LinkedList的区别和适用场景
-
ArrayList:
- 优点:ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会较高(在内存里连着放的)。
- 缺点:因为地址连续,删除、插入元素ArrayList要移动数据,所以效率较低。
-
LinkedList:
- 优点:LinkedList基于链表的数据结构,地址是任意的,所以在开辟内存空间的时候不需要等一个连续的地址,对于新增和删除操作,LinkedList比较占优势。LinkedList适用于头尾操作或插入指定位置的场景。
- 缺点:因为LinkedList要移动指针,所以查询操作性能比较低。
适用场景分析:
当需要对数据进行查询访问时选用ArrayList,当需要对数据进行多次增加删除修改时采用LinkedList。