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


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

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

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

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

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

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

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

二者的联系:

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

二者都实现了List接口。

 

 

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM