博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
比较Java中几个常用集合添加元素的效率
阅读量:5281 次
发布时间:2019-06-14

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

初始化需要进行比较的集合,统一增加10万个元素,获取整个过程的执行时间。

1、List集合增加元素

1 private static void testList() { 2  3         List
list = new ArrayList
(); 4 5 long startTime = System.currentTimeMillis(); // 获取开始时间 6 for (int i = 0; i < 100000; i++) { 7 8 list.add(i); 9 10 }11 long endTime = System.currentTimeMillis(); // 获取结束时间12 13 System.out.println("List添加元素程序运行时间为:" + (endTime - startTime) + "ms"); // 输出程序运行时间14 15 }

程序输出:

List添加10万个元素程序运行时间为:8ms

2、Set集合增加元素

1 private static void testSet() { 2  3         Set
set = new HashSet
(); 4 5 long startTime = System.currentTimeMillis(); // 获取开始时间 6 for (int i = 0; i < 100000; i++) { 7 8 set.add(i); 9 10 }11 long endTime = System.currentTimeMillis(); // 获取结束时间12 13 System.out.println("Set添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms"); // 输出程序运行时间14 15 }

程序输出:

Set添加10万个元素程序运行时间为:17ms

3、LinkedList集合增加元素

1 private static void testLinkedList() { 2  3         List
list = new LinkedList
(); 4 5 long startTime = System.currentTimeMillis(); // 获取开始时间 6 for (int i = 0; i < 100000; i++) { 7 8 list.add(i); 9 10 }11 long endTime = System.currentTimeMillis(); // 获取结束时间12 13 // 输出程序运行时间14 System.out.println("LinkedList添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms");15 16 }

程序输出:

LinkedList添加10万个元素程序运行时间为:8ms

4、TreeSet集合增加元素

1 private static void testTreeSet() { 2  3         Set
set = new TreeSet
(); 4 5 long startTime = System.currentTimeMillis(); // 获取开始时间 6 for (int i = 0; i < 100000; i++) { 7 8 set.add(i); 9 10 }11 long endTime = System.currentTimeMillis(); // 获取结束时间12 13 // 输出程序运行时间14 System.out.println("TreeSet添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms");15 16 }

程序输出:

TreeSet添加10万个元素程序运行时间为:40ms

总结:在不考虑去重和排序的情况下,以上几个常用集合的执行效率排序为:ArrayList >= LinkedList > HashSet > TreeSet

5、HashMap集合增加元素

1 private static void testHashMap() { 2  3         Map
hashMap = new HashMap
(); 4 5 long startTime = System.currentTimeMillis(); // 获取开始时间 6 for (int i = 0; i < 100000; i++) { 7 hashMap.put(i, "test"); 8 } 9 10 long endTime = System.currentTimeMillis(); // 获取结束时间11 12 // 输出程序运行时间13 System.out.println("HashMap添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms");14 15 }

程序输出:

HashMap添加10万个元素程序运行时间为:17ms

6、TreeMap集合增加元素

1 private static void testTreeMap() { 2          3         Map
treeMap = new TreeMap
(); 4 5 long startTime = System.currentTimeMillis(); // 获取开始时间 6 for (int i = 0; i < 100000; i++) { 7 treeMap.put(i, "test"); 8 } 9 10 long endTime = System.currentTimeMillis(); // 获取结束时间11 12 // 输出程序运行时间13 System.out.println("TreeMap添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms");14 }

程序输出:

TreeMap添加10万个元素程序运行时间为:40ms

总结:在不考虑排序的情况下,HashMap的执行效率高于TreeMap:HashMap > TreeMap。

 

转载于:https://www.cnblogs.com/Dylansuns/p/6746564.html

你可能感兴趣的文章
有人物联网数传终端设备在智慧电力和公共事业中的应用
查看>>
《剑指offer》第三_二题(不修改数组找出重复的数字)
查看>>
windows 核心编程第一章:关于错误
查看>>
20. Spring Boot Servlet【从零开始学Spring Boot】
查看>>
js原型链实现
查看>>
数据结构之链表
查看>>
WPF / Win Form:多线程去修改或访问UI线程数据的方法( winform 跨线程访问UI控件 )...
查看>>
SPOJ DCEPC11I
查看>>
Mongodb关闭开源许可感想
查看>>
GCD 的初步认识
查看>>
好设计,迁移不费劲
查看>>
orz gzy
查看>>
JAVA源码分析------锁(1)
查看>>
HDU 4920 Matrix multiplication
查看>>
ACdream 1068
查看>>
会声会影毛玻璃制作
查看>>
HDU 2665 Kth number
查看>>
CodeChef DGCD Dynamic GCD
查看>>
记叙在人生路上对你影响最大的三位老师
查看>>
002.大数据第二天
查看>>