ArrayList 和 LinkedList 的区别【重要】

简介: ArrayList 和 LinkedList 的区别【重要】

1.ArrayList 是基于数组存放的集合,LinkedList 是基于链表存放的集合。

2. 他们都是 List 集合的实现类,且都是非线程安全的。

ArrayList 的初始容量是 10,每次扩容的话是之前长度的 1.5 倍,且通过内存拷贝来实现数组的复制,提供性能。因为 ArrayList 是基于数组实现的,所以可以通过索引来进行快速的定位查询,对于随机 index 访问的 get 和 set 方法,一般 ArrayList 的速度要优于 LinkedList。但在删除操作上效率很慢,要涉及到元素移动。

而 LinkedList 是基于双链表实现的,所以在添加、删除操作上效率比较高,不涉及元素的移动,只需要修改指针;但在查询方面效率很差,因为要一个元素一个元素遍历,直到找到目标元素。

4. 内存占用:由于 ArrayList 在初始化时就会分配一定的连续空间,因此它的内存占用较为稳定,但当元素数量超出容量时需要重新分配空间,开销较大。而 LinkedList 则是动态申请内存,每个元素包含两个指针,因此内存占用相对较大。

目录
打赏
0
0
0
0
1
分享
相关文章
ArrayList vs. LinkedList: Java集合框架的比较与应用
ArrayList vs. LinkedList: Java集合框架的比较与应用
【JAVA集合篇 - LinkedList】你真的了解LinkedList吗?
【JAVA集合篇 - LinkedList】你真的了解LinkedList吗?
74 0
|
11月前
|
Arrylist 与 Linkedlist 的区别
Arrylist 与 Linkedlist 的区别
90 1
ArrayList 和 LinkedList 的区别
ArrayList 和 LinkedList 的区别
|
11月前
面试题之:ArrayList和LinkedList有哪些区别
面试题之:ArrayList和LinkedList有哪些区别
Java集合框架:ArrayList和LinkedList的区别是什么?
Java集合框架:ArrayList和LinkedList的区别是什么?
83 0
集合框架之ArrayList和LinkedList的区别
集合框架之ArrayList和LinkedList的区别
106 0
17. 什么情况用ArrayList or LinkedList呢?
17. 什么情况用ArrayList or LinkedList呢?
137 0
17. 什么情况用ArrayList or LinkedList呢?
ArrayList与LinkedList区别源码分析
1、ArrayList是基于数组,LinkedList是基于链表 2、基于数组的ArrayList对于根据索引值查找比较高效;基于链表的LinkedList对于增加、删除操作比较高效 3、剖析CRUD:
260 0
对比Vector、 ArrayList、 LinkedList有何区别
对比Vector、 ArrayList、 LinkedList有何区别
120 0
对比Vector、 ArrayList、 LinkedList有何区别

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等