博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
List的三个实现类的添加效率研究
阅读量:7224 次
发布时间:2019-06-29

本文共 607 字,大约阅读时间需要 2 分钟。

hot3.png

        前几天在网上看见有人怀疑ArrayList,LinkedList和Vector的添加效率问题。我觉得他说的也挺有道理的,于是就做了一个实验。当然,我做的实验也不是很严谨,使用的MyEclipse,然后使用单元测试进行测试的数据。测试结果如下:(单位:s)

                   1000            10000            100000            500000            1000000            5000000

ArrayList    0.039            0.103                0.213            0.852                1.445                    10.444

Vex\ctor    0.047              0.078                0.156            0.827                1.419                    9.812

LinkedList    0.035            0.09                0.182            1.143                2.122                    14.194

测试代码如下:

203240_ybkd_2005376.png

从上面的数据可以看出来的是LinkedList    的插入性能随着是插入的数据增多性能越来越差的厉害。

    我的解释是LinkedList    插入数据时也会先去查找一遍。而LinkedList  的查找性能本来就不如另两个,所以插入的效率自然也就比另外两个差,尤其是在大数据的时候。  ArrayList和Vector的差别在本次测试中未体现出太大的差别是因为,本次测试测试就是单线程的,在某些电脑上单线程可能也有差别,那应该是因为ArrayList和Vector每次扩容的容量不一样的。

转载于:https://my.oschina.net/hnqingping1255/blog/464802

你可能感兴趣的文章
【leetcode】1008. Construct Binary Search Tree from Preorder Traversal
查看>>
【leetcode】Network Delay Time
查看>>
【leetcode】105. Construct Binary Tree from Preorder and Inorder Traversal
查看>>
【mybatis】mybatis中insert操作,返回自增id
查看>>
C++ 继承
查看>>
比较含退格的字符串
查看>>
PHP——字符串统一转码为GBK,自动判断是否UTF8并转码
查看>>
LeetCode-Max Points on a Line[AC源码]
查看>>
广度优先算法Java实现以及最短路径搜索
查看>>
Insert Into select 与 Select Into 哪个更快?
查看>>
vue-cli子组件完成操作后通知父组件
查看>>
solr导入数据库数据
查看>>
JDK和JRE的区别
查看>>
Struts2笔记——自定义拦截器
查看>>
Dotnetnuke 6 设置安装
查看>>
20155229 《信息安全系统设计基础》第六周作业补充
查看>>
oracle分页存储过程
查看>>
javacript中的事件
查看>>
java 多线程四
查看>>
Django开发笔记五
查看>>