ArrayList和LinkedList的区别

相同点:

1、二者都是List接口的实现类,具有元素可重复,有序(存取顺序)特点;

2、二者都是线程不安全,效率高

不同点:

1、数据结构实现:ArrayList底层数据结构是动态数组,LinkList底层数据结构是双向链表;

2、随机访问效率:ArrayList 比 LinkedList在随机访问的时候效率要高,因为 LinkList 是线性的数据存储方式,所以需要移动指针从前往后依次查找。

3、增加和删除效率:在非首尾的增加和删除操作,LinkList 要比 ArrayList效率高,因为ArrayList增删操作要影响数组内的其他数据的下标。

综合来说,在需要频繁读取集合中的元素时,更推荐使用ArrayList,而在插入和删除操作多时,更推荐使用LinkedList。

你可能感兴趣的:(数据结构)