浅谈Java中几个常用集合添加元素的效率
初始化需要进行比较的集合,统一增加10万个元素,获取整个过程的执行时间。
1、List集合增加元素
private static void testList() {
List<Integer> list = new ArrayList<Integer>();
long startTime = System.currentTimeMillis(); // 获取开始时间
for (int i = 0; i < 100000; i++) {
list.add(i);
}
long endTime = System.currentTimeMillis(); // 获取结束时间
System.out.println("List添加元素程序运行时间为:" + (endTime - startTime) + "ms"); // 输出程序运行时间
}
程序输出:
List添加10万个元素程序运行时间为:8ms
2、Set集合增加元素
private static void testSet() {
Set<Integer> set = new HashSet<Integer>();
long startTime = System.currentTimeMillis(); // 获取开始时间
for (int i = 0; i < 100000; i++) {
set.add(i);
}
long endTime = System.currentTimeMillis(); // 获取结束时间
System.out.println("Set添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms"); // 输出程序运行时间
}
程序输出:
Set添加10万个元素程序运行时间为:17ms
3、LinkedList集合增加元素
private static void testLinkedList() {
List<Integer> list = new LinkedList<Integer>();
long startTime = System.currentTimeMillis(); // 获取开始时间
for (int i = 0; i < 100000; i++) {
list.add(i);
}
long endTime = System.currentTimeMillis(); // 获取结束时间
// 输出程序运行时间
System.out.println("LinkedList添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms");
}
程序输出:
LinkedList添加10万个元素程序运行时间为:8ms
4、TreeSet集合增加元素
private static void testTreeSet() {
Set<Integer> set = new TreeSet<Integer>();
long startTime = System.currentTimeMillis(); // 获取开始时间
for (int i = 0; i < 100000; i++) {
set.add(i);
}
long endTime = System.currentTimeMillis(); // 获取结束时间
// 输出程序运行时间
System.out.println("TreeSet添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms");
}
程序输出:
TreeSet添加10万个元素程序运行时间为:40ms
总结:在不考虑去重和排序的情况下,以上几个常用集合的执行效率排序为:ArrayList >= LinkedList > HashSet > TreeSet
5、HashMap集合增加元素
private static void testHashMap() {
Map<Integer, Object> hashMap = new HashMap<Integer, Object>();
long startTime = System.currentTimeMillis(); // 获取开始时间
for (int i = 0; i < 100000; i++) {
hashMap.put(i, "test");
}
long endTime = System.currentTimeMillis(); // 获取结束时间
// 输出程序运行时间
System.out.println("HashMap添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms");
}
程序输出:
HashMap添加10万个元素程序运行时间为:17ms
6、TreeMap集合增加元素
private static void testTreeMap() {
Map<Integer, Object> treeMap = new TreeMap<Integer, Object>();
long startTime = System.currentTimeMillis(); // 获取开始时间
for (int i = 0; i < 100000; i++) {
treeMap.put(i, "test");
}
long endTime = System.currentTimeMillis(); // 获取结束时间
// 输出程序运行时间
System.out.println("TreeMap添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms");
}
程序输出:
TreeMap添加10万个元素程序运行时间为:40ms
总结:在不考虑排序的情况下,HashMap的执行效率高于TreeMap:HashMap > TreeMap。
上一篇:Eclipse中常用快捷键汇总
栏 目:JAVA代码
下一篇:Java concurrency线程池之线程池原理(三)_动力节点Java学院整理
本文标题:浅谈Java中几个常用集合添加元素的效率
本文地址:http://www.codeinn.net/misctech/139149.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




