初始化需要进行比较的集合,统一增加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。
以上这篇浅谈java中几个常用集合添加元素的效率就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。
如对本文有疑问, 点击进行留言回复!!
浅析IDEA如何正确配置Gradle? GRADLE_USER_HOME 和 Gradle user home的区别
spring boot-2.1.16整合swagger-2.9.2 含yml配置文件的代码详解
有关IntelliJ IDEA中LeetCode插件配置问题
如何在Intellij中安装LeetCode刷题插件方便Java刷题
vscode检测到#include错误请更新includePath的解决方法
IDEA中使用Git拉取代码时报 Git pull failed原因及解决方法
Java8 Stream Collectors收集器使用方法解析
网友评论