星空网 > 软件开发 > Java

ArrayList与LinkedList的区别

  测试ArrayList与LinkedList性能

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

  ArrayList和LinkedList的大致区别: 

     1.ArrayList是实现了基于动态数组的数据结构。

  2.LinkedList基于链表的数据结构。 

     3.对于随机访问get和set,ArrayList优,因为LinkedList要移动指针。 

     4.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

 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的区别

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

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

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

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

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

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

  下面是一个更专业的概括链接:

     http://pengcqu.iteye.com/blog/502676

    http://blog.csdn.net/qianzhiyong111/article/details/6678035




原标题:ArrayList与LinkedList的区别

关键词:array

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

shopee子账号系统使用指南:https://www.goluckyvip.com/news/1322.html
2019亚马逊Prime Day网站故障_亚马逊物流中心罢工_Prime Day热销品:https://www.goluckyvip.com/news/1323.html
eBay review中收到物流中差评_eBay运营收到差评怎么办:https://www.goluckyvip.com/news/1324.html
百运网国际物流:https://www.goluckyvip.com/news/1325.html
J&T Express_快递公司:https://www.goluckyvip.com/news/1326.html
Shopee公布旺季“多级火箭计划” / 2019年《财富》世界500强榜单出炉:https://www.goluckyvip.com/news/1327.html
NRA账户的开户主体包括:香港、美国、新加坡、欧盟等国家的详细解析 :https://www.kjdsnews.com/a/1842292.html
NRA账户的开户主体包括:香港、美国、新加坡、欧盟等国家的详细解析 :https://www.xlkjsw.com/news/94338.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流