美文网首页随笔-生活工作点滴
ArrayList和LinkedList性能对比测试,为什么和网

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

作者: jumper996 | 来源:发表于2019-07-05 14:00 被阅读10次

    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

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

    相关文章

      网友评论

        本文标题:ArrayList和LinkedList性能对比测试,为什么和网

        本文链接:https://www.haomeiwen.com/subject/yezshctx.html