论坛首页 Java企业应用论坛

测试发现,ArrayList性能全面超越LinkedList

浏览 17873 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-05-25  
不好意思这中情况出现了一次 ,但是调换位置 发现 linkedlist 插入比arraylist快
0 请登录后投票
   发表时间:2013-05-27  
teasp 写道
楼主突破性的结论来自于搞笑的测试。你根据index来操作list,LinkedList会哭的。要知道ArrayList是RandomAccess的。


同意,楼主难道没学过数据结构吗?虽然我常用的是ArrayList。但我也不敢这么下结论啊!你试试将数据插入到第0个位置试试
0 请登录后投票
   发表时间:2013-05-27  
数据结构
0 请登录后投票
   发表时间:2013-05-27  
caihemm 写道
alvin198761 写道
你比比内存吧,ArrayList就捉襟见肘了
LinkedList是链表,内存用的少

现在内存不值钱,速度比较重要

我写两个程序,功能都一样,都可以免费送给你跑,只是第二个需要你增加2G内存再跑,你选第几个?
为啥360会在中国活下来?
内存不值钱没错,手机上但凡有收1毛钱的游戏,都没多少人玩,绝对会去先找免费的,实在没有才会选不是吗?
0 请登录后投票
   发表时间:2013-05-27  
alvin198761 写道
caihemm 写道
alvin198761 写道
你比比内存吧,ArrayList就捉襟见肘了
LinkedList是链表,内存用的少

现在内存不值钱,速度比较重要

我写两个程序,功能都一样,都可以免费送给你跑,只是第二个需要你增加2G内存再跑,你选第几个?
为啥360会在中国活下来?
内存不值钱没错,手机上但凡有收1毛钱的游戏,都没多少人玩,绝对会去先找免费的,实在没有才会选不是吗?

这样抬杠有意思吗....sb都知道的道理...你在解释个鸟啊....
1 请登录后投票
   发表时间:2013-05-27  
理论上说链表插入删除效率比较高,数组随机访问效率比较高,这是肯定的。但是结果arraylist 貌似全部占优,不理解,不知道是否lz代码问题,没看代码。
0 请登录后投票
   发表时间:2013-05-28  
线性表和链表的区别。不是这么比的。
链表的优势在于在中间新增节点和删除节点的维护速度。
arraylist能在随便某个位置新增节点么?

建议参考数据结构再对比。。。。。
0 请登录后投票
   发表时间:2013-05-28  
我还是那句话,你得仔细分析Java里ArrayList和LinkedList的代码,先得出一个预期,然后写测试程序,测试程序的数据应该和根据代码得到的预期一致才对。如果测试结果和预期不一致,最有可能是你的测试程序的问题,还有可能是编译器优化、缓存等因素,这需要不同的环境和数据下,多测几组数据,反复验证。如果有什么不明白,可能还需要去阅读有关JVM的一些书(例如《J2SE虚拟机规范》等),一些关于机器缓存的书(例如《深入理解计算机系统》等)

这是一个方法论的问题:程序员对API的测试,尽可能不要完全黑盒的去测,根据结果得出什么结论;而是应该根据设计实现去预期,用黑盒数据去验证。

从设计和代码的角度,很容易能够知道,什么时候,理论上,什么场景下,ArrayList更好;什么场景下LinkedList更好。
0 请登录后投票
   发表时间:2013-06-02  
楼主要加强学习。呵呵
0 请登录后投票
   发表时间:2013-06-03  
这帖子唯一的作用就是,暴露了一个新手的典型错误。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics