社区
Java SE
帖子详情
为什么ArrayList的迭代比LinkedList更慢?
lsner2
2013-07-31 04:44:19
根本原因是什么???
...全文
167
5
打赏
收藏
为什么ArrayList的迭代比LinkedList更慢?
根本原因是什么???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
herengao
2013-07-31
打赏
举报
回复
不会吧,应该是ArrayList比LinkedList迭代快吧
lkq_david
2013-07-31
打赏
举报
回复
ArrayList 和 Vector 都是使用数组方式存储数据,此数组元素数大于实际 存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元 素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector 由 于使用了 synchronized 方法(线程安全),通常性能上较 ArrayList 差,而 LinkedList 使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历, 但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
lsner2
2013-07-31
打赏
举报
回复
引用 1 楼 yupeng103 的回复:
实现方式不同,linkedList是连表,更适合一个一个的读取。
Array是数组的话,连续访问应该更快啊!
想喝咖啡的貓
2013-07-31
打赏
举报
回复
链表算法存储 数组存储
yupeng103
2013-07-31
打赏
举报
回复
实现方式不同,linkedList是连表,更适合一个一个的读取。
面试官问:
Array
List
和
Link
ed
List
有什么区别?(附图解+比喻+避坑指南)
本文深入解析
Array
List
(动态数组)与
Link
ed
List
(双向链表)的本质差异:
Array
List
支持O(1)随机访问,内存连续、缓存友好;
Link
ed
List
头尾操作O(1),但随机访问和中间插入均为O(n),且内存开销为
Array
List
的4-6倍。涵盖扩容机制(1.5倍)、懒加载、transient序列化优化、CPU缓存影响及线程安全替代方案。
Array
List
vs
Link
ed
List
:不只是数据结构的区别
本文深入对比
Array
List
和
Link
ed
List
在底层实现、时间复杂度、内存占用及适用场景等方面的本质区别,重点分析随机访问、插入删除操作的性能特征,帮助开发者根据实际需求合理选型。
【Java基础知识复盘】
Array
List
、
Link
ed
List
篇——持续更新中
本文详细介绍了
Array
List
和
Link
ed
List
两种Java集合类的区别和使用。
Array
List
基于动态数组,适合频繁查询,不适合频繁增删;
Link
ed
List
基于链表,增删高效,查询修改较慢。
Array
List
默认长度为10,扩容策略为1.5倍,线程不安全。
Link
ed
List
实现了
List
、Queue和Deque接口,支持在链表两端及指定位置进行操作。选择使用时,根据具体需求考虑性能和操作特性。
java
List
接口,
Array
List
集合,
Link
ed
List
集合,Vector集合——————————————墨白
本文深入解析
List
集合的特点与应用,对比
Array
List
、
Link
ed
List
与Vector的底层实现,探讨它们在不同场景下的优势与劣势。通过实例演示
Link
ed
List
如何高效实现队列与堆栈功能。
Link
ed
List
适用场景:为什么插入删除快、遍历慢?
本文深入剖析
Link
ed
List
的底层双向链表结构,解释其插入删除快、遍历慢的本质原因。重点指出只有在已知节点时操作才高效,指定索引访问需遍历导致性能下降。结合源码与实战案例,总结适用于队列、栈等首尾高频操作场景,并警示避免for循环遍历、频繁get(index)及忽视内存开销等问题。
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章