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的区别