随笔-生活工作点滴

ArrayList和LinkedList性能对比测试,为什么和网

2019-07-05  本文已影响10人  jumper996

1.数据量为1W的时候

===== ArrayList ====
执行insertArrayList => 耗时:10ms
执行eachArrayList => 耗时:2ms
===== LinkList ====
执行insertLinkList => 耗时:0ms
执行eachLinkList => 耗时:1ms
可以看出来,这个时候linkList明显插入的性能好些,然后遍历差不多。

2.数据量为5W的时候

===== ArrayList ====
执行insertArrayList => 耗时:11ms
执行eachArrayList => 耗时:2ms
===== LinkList ====
执行insertLinkList => 耗时:3ms
执行eachLinkList => 耗时:2ms
5W的数据量也可以看出来linkedList的插入优势,遍历差不多。

3.数据量为50W的时候

===== ArrayList ====
执行insertArrayList => 耗时:19ms
执行eachArrayList => 耗时:5ms
===== LinkList ====
执行insertLinkList => 耗时:14ms
执行eachLinkList => 耗时:7ms
50W的数据量也可以看出来linkedList的插入优势就没那么大了,相差无几,遍历差不多。

4.数据量为100W的时候

===== ArrayList ====
执行insertArrayList => 耗时:22ms
执行eachArrayList => 耗时:5ms
===== LinkList ====
执行insertLinkList => 耗时:21ms
执行eachLinkList => 耗时:7ms
100W的时候基本上可以看出来,插入速度已经差不多了,遍历慢点。

5.数据量为1000W的时候

===== ArrayList ====
执行insertArrayList => 耗时:214ms
执行eachArrayList => 耗时:6ms
===== LinkList ====
执行insertLinkList => 耗时:7988ms
执行eachLinkList => 耗时:72ms
这个时候可以看出来,linkList无论是插入还是遍历都慢了ArrayList很多,这是为什么呢?

测试代码如下:
https://gitee.com/MyAngle/algorithm_learning/blob/master/src/main/java/structure/LinkListTest.java

求大佬指导迷津一下。感谢

上一篇 下一篇

猜你喜欢

热点阅读