码迷,mamicode.com
首页 > 其他好文 > 详细

ArrayList与LinkedList的区别

时间:2015-12-02 12:03:12      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

  测试ArrayList与LinkedList性能

  本文仅供学习,若有错误欢迎指出。

 1 private static void modifyArrayListPerformance(){
 2         ArrayList<String> strList = new ArrayList<>();
 3         long t1 = System.currentTimeMillis();
 4         for (int i = 0; i < 100000; i++) {
 5             strList.add(0,"test");
 6         }
 7         long t2 = System.currentTimeMillis();
 8         System.out.println("ArrayList花费:"+(t2-t1));
 9     }
10 
11     private static void modifyLinkedListPerformance(){
12         LinkedList<String> strList = new LinkedList<>();
13         long t1 = System.currentTimeMillis();
14         for (int i = 0; i < 100000; i++) {
15             strList.add(0,"test");
16         }
17         long t2 = System.currentTimeMillis();
18         System.out.println("LinkedList花费:"+(t2-t1));
19     }

 通过三次时间对比,分别为:

    i  位置, 0  位置,末尾位置

  技术分享

========================================================================================= 

  总结:通过实践发现,网上面试答案太过含糊(大致意思为:ArrayList 适用于查询  LinkedList适用于修改)

      1. 当在末尾插入元素,两者性能差距不大,ArrayList略好

      2. 当在固定位置(本文为 0 位置)插入元素,LinkedList性能明显好于ArrayList

      3. 当在 i 位置插入元素,ArrayList性能明显高于LinkedList,同时反证了两者在查询效率上ArrayList的优势

  纸上得来终觉浅,希望学习基础的同学实际操作一下

 

ArrayList与LinkedList的区别

标签:

原文地址:http://www.cnblogs.com/li12014239/p/5012281.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!