ArrayList(顺序表)和LinkedList(链表)的区别联系,优劣取舍问题

ArrayList和LinkedList都是List接口的实现类。主要区别如下:

最主要的区别是底层的数据结构不同:

1)ArrayList相当于一个动态数组,需要随机访问列表中的元素时,ArrayList的性能更高。

2)ArrayList是JDK1.2时增加的。

3)ArrayList在内存中分配连续的空间。

4)LinkedList采用的是链表式数据结构。

5)LinkedList在需要频繁插入、删除列表中元素时,性能高于ArrayList。

二者的联系:

ArrayList和LinkedList都是不同步的,也就是不保证线程安全。

二者都实现了List接口。

 

综上所述,在不考虑线程安全的前提下,需要随机快速访问元素时使用ArrayList;插入、删除操作较多时使用LinkedList。

猜你喜欢

转载自www.cnblogs.com/sinoaccer/p/12070700.html
今日推荐