还原:ArrayList性能近乎完美,百万数据测试程序旺旺2018-07-17 22:17:21
背景在程序员的面试问题中经常遇到ArrayList和LinkedList的差异,现实测试情况肯定不太了解。
理论是这样的。现实测试情况很打脸啊。
学习目标JDK1.8种ArrayList和LinkedList的性能状况代码示例环境准备:java jdk1.8版本,100万数据量,台式机8G内存、双核【速度很快哦】
经过测试,与硬件结构有很大关系,返回时间均为毫秒
程序员注意啦:NUM是100万,
测试结果,批量循环了100万次添加元素、ArrayList、LinkedList的性能
【尾部加元素】,性能相同。 【首先加入元素】,LinkedList虐待完了ArrayList
为什么最初添加元素的ArrayList变慢了? 理由是增加了以下代码
源代码的说明如下。
在ArrayList末尾添加元素时,复制操作比首先添加元素少。
各个元素的添加性能没有很大的差异
ArrayList首先添加了元素,性能消耗也非常少。
核心测试代码
ArrayList.add (0,http://www.Sina.com/com /,new,2,3358 www.sinn
linked list.add ("11111","程序汪汪",http://www.Sina.com /,2,http://ww.Sina.com)
随机获取性能无显著性差异
核心测试代码
"2018-03-16"
new
各个删除的性能没有很大的差异
核心测试代码
Arraylist.remove(Arraylist.get ) 55555 );
linkedlist.remove(55555;
在批量的开头添加元素ArrayList不仅性能差,其他情况也非常强呢。 放心使用ArrayList吧。 我这是100万数据量,平时数据量的性能消耗会更少。