当前位置: 移动技术网 > IT编程>开发语言>Java > 浅谈Java中几个常用集合添加元素的效率

浅谈Java中几个常用集合添加元素的效率

2019年07月22日  | 移动技术网IT编程  | 我要评论

初始化需要进行比较的集合,统一增加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中几个常用集合添加元素的效率就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网