LinkedList,ArrayList末尾插入谁效率高?
2024-09-07 05:28:05
废话不多说,原因不解释。上測试代码:
package com.letv.cloud.cdn.jtest; import java.io.IOException;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.concurrent.TimeUnit; import org.slf4j.LoggerFactory; import com.google.common.base.Stopwatch; public class JtestMain { private final static org.slf4j.Logger LOGGER = LoggerFactory.getLogger("JtestMain"); private static Stopwatch stopWatch = new Stopwatch(); public static void testList(int num){
List<String> aList = new ArrayList<String>();
List<String> lList = new LinkedList<String>();
stopWatch.reset();
stopWatch.start();
for(int i=0; i<num; i++){
aList.add("201411180827 cctv5_800 83 796.03 115.182.51.134 123.125.89.75 in uuid1 5");
}
LOGGER.info("insert num:{} ArrayList cost:{} ms",num,stopWatch.elapsedTime(TimeUnit.MILLISECONDS)); stopWatch.reset();
stopWatch.start();
for(int i=0; i<num; i++){
lList.add("201411180827 cctv5_800 83 796.03 115.182.51.134 123.125.89.75 in uuid1 5");
}
LOGGER.info("insert num:{} LinkedList cost:{} ms",num,stopWatch.elapsedTime(TimeUnit.MILLISECONDS));
} public static void main(String[] args) throws InterruptedException, IOException {
int[] nums = {10000,10 * 10000,100 * 10000, 1000 * 10000, 10000 * 10000}; for(int i=0; i<nums.length; i++){
testList(nums[i]);
}
}
}
測试结果:
INFO [main] (JtestMain.java:65) 11:50:47,480 -- insert num:10000 ArrayList cost:2 ms
INFO [main] (JtestMain.java:72) 11:50:47,484 -- insert num:10000 LinkedList cost:1 ms
INFO [main] (JtestMain.java:65) 11:50:47,490 -- insert num:100000 ArrayList cost:5 ms
INFO [main] (JtestMain.java:72) 11:50:47,495 -- insert num:100000 LinkedList cost:5 ms
INFO [main] (JtestMain.java:65) 11:50:47,504 -- insert num:1000000 ArrayList cost:8 ms
INFO [main] (JtestMain.java:72) 11:50:47,515 -- insert num:1000000 LinkedList cost:11 ms
INFO [main] (JtestMain.java:65) 11:50:47,606 -- insert num:10000000 ArrayList cost:89 ms
INFO [main] (JtestMain.java:72) 11:50:49,335 -- insert num:10000000 LinkedList cost:1729 ms
INFO [main] (JtestMain.java:65) 11:50:50,290 -- insert num:100000000 ArrayList cost:954 ms
INFO [main] (JtestMain.java:72) 11:51:14,263 -- insert num:100000000 LinkedList cost:23973 ms
最新文章
- MYsql 数据库密码忘记(Linux)
- hdu 1002
- javascript继承(八)-封装
- 【转载】wireshark:no interface can be used for capturing in this system with the current configuration
- IAP Store Kit Guide(中文)
- STORM 免费且开源的WebSerivce测试工具
- 关于优化性能<;主要是速度方面>;的个人心得 【转】
- HDU 6069
- Ghost文件封装说明
- bzoj 3571: [Hnoi2014]画框
- zabbix图形乱码
- QEMU KVM Libvirt手册(10): KVM的各种限制
- DEV SIT UAT PET SIM PRD PROD常见环境英文缩写含义
- 导出python的环境
- java获取request中的参数、java解析URL问号后的参数
- linux学习第十八天 (Linux就该这么学)
- Log4j2在项目中的常用配置
- C++STL 函数对象和谓词
- EntityFramework包含作用
- 20165310 Java实验五《网络编程与安全》