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

Posted sinoaccer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArrayList(顺序表)和LinkedList(链表)的区别联系,优劣取舍问题相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

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

二者的联系:

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

二者都实现了List接口。

技术图片

 

 技术图片

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

以上是关于ArrayList(顺序表)和LinkedList(链表)的区别联系,优劣取舍问题的主要内容,如果未能解决你的问题,请参考以下文章

java集合的实现细节--ArrayList和LinkedList

从源码角度分析ArrayList和LinkedList的区别

从源码角度分析ArrayList和LinkedList的区别

ArrayList和LinkedList区别

Java自学-集合框架 ArrayList和LinkedList的区别

ArrayList & LinkedList