欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談Java中幾個(gè)常用集合添加元素的效率

 更新時(shí)間:2017年04月27日 08:36:49   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇淺談Java中幾個(gè)常用集合添加元素的效率。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

初始化需要進(jìn)行比較的集合,統(tǒng)一增加10萬(wàn)個(gè)元素,獲取整個(gè)過(guò)程的執(zhí)行時(shí)間。

1、List集合增加元素

private static void testList() {

  List<Integer> list = new ArrayList<Integer>();

  long startTime = System.currentTimeMillis(); // 獲取開(kāi)始時(shí)間
  for (int i = 0; i < 100000; i++) {

   list.add(i);

  }
  long endTime = System.currentTimeMillis(); // 獲取結(jié)束時(shí)間

  System.out.println("List添加元素程序運(yùn)行時(shí)間為:" + (endTime - startTime) + "ms"); // 輸出程序運(yùn)行時(shí)間

 }

程序輸出:

List添加10萬(wàn)個(gè)元素程序運(yùn)行時(shí)間為:8ms

2、Set集合增加元素

private static void testSet() {

  Set<Integer> set = new HashSet<Integer>();

  long startTime = System.currentTimeMillis(); // 獲取開(kāi)始時(shí)間
  for (int i = 0; i < 100000; i++) {

   set.add(i);

  }
  long endTime = System.currentTimeMillis(); // 獲取結(jié)束時(shí)間

  System.out.println("Set添加10萬(wàn)個(gè)元素程序運(yùn)行時(shí)間為:" + (endTime - startTime) + "ms"); // 輸出程序運(yùn)行時(shí)間

 }

程序輸出:

Set添加10萬(wàn)個(gè)元素程序運(yùn)行時(shí)間為:17ms

3、LinkedList集合增加元素

private static void testLinkedList() {

  List<Integer> list = new LinkedList<Integer>();

  long startTime = System.currentTimeMillis(); // 獲取開(kāi)始時(shí)間
  for (int i = 0; i < 100000; i++) {

   list.add(i);

  }
  long endTime = System.currentTimeMillis(); // 獲取結(jié)束時(shí)間

  // 輸出程序運(yùn)行時(shí)間
  System.out.println("LinkedList添加10萬(wàn)個(gè)元素程序運(yùn)行時(shí)間為:" + (endTime - startTime) + "ms");

 }

程序輸出:

LinkedList添加10萬(wàn)個(gè)元素程序運(yùn)行時(shí)間為:8ms

4、TreeSet集合增加元素

private static void testTreeSet() {

  Set<Integer> set = new TreeSet<Integer>();

  long startTime = System.currentTimeMillis(); // 獲取開(kāi)始時(shí)間
  for (int i = 0; i < 100000; i++) {

   set.add(i);

  }
  long endTime = System.currentTimeMillis(); // 獲取結(jié)束時(shí)間

  // 輸出程序運(yùn)行時(shí)間
  System.out.println("TreeSet添加10萬(wàn)個(gè)元素程序運(yùn)行時(shí)間為:" + (endTime - startTime) + "ms");

 }

程序輸出:

TreeSet添加10萬(wàn)個(gè)元素程序運(yùn)行時(shí)間為:40ms

總結(jié):在不考慮去重和排序的情況下,以上幾個(gè)常用集合的執(zhí)行效率排序?yàn)椋篈rrayList >= LinkedList > HashSet > TreeSet

5、HashMap集合增加元素

private static void testHashMap() {

  Map<Integer, Object> hashMap = new HashMap<Integer, Object>();

  long startTime = System.currentTimeMillis(); // 獲取開(kāi)始時(shí)間
  for (int i = 0; i < 100000; i++) {
   hashMap.put(i, "test");
  }

  long endTime = System.currentTimeMillis(); // 獲取結(jié)束時(shí)間

  // 輸出程序運(yùn)行時(shí)間
  System.out.println("HashMap添加10萬(wàn)個(gè)元素程序運(yùn)行時(shí)間為:" + (endTime - startTime) + "ms");

 }

程序輸出:

HashMap添加10萬(wàn)個(gè)元素程序運(yùn)行時(shí)間為:17ms

6、TreeMap集合增加元素

private static void testTreeMap() {
  
  Map<Integer, Object> treeMap = new TreeMap<Integer, Object>();

  long startTime = System.currentTimeMillis(); // 獲取開(kāi)始時(shí)間
  for (int i = 0; i < 100000; i++) {
   treeMap.put(i, "test");
  }

  long endTime = System.currentTimeMillis(); // 獲取結(jié)束時(shí)間

  // 輸出程序運(yùn)行時(shí)間
  System.out.println("TreeMap添加10萬(wàn)個(gè)元素程序運(yùn)行時(shí)間為:" + (endTime - startTime) + "ms");
 }

程序輸出:

TreeMap添加10萬(wàn)個(gè)元素程序運(yùn)行時(shí)間為:40ms

總結(jié):在不考慮排序的情況下,HashMap的執(zhí)行效率高于TreeMap:HashMap > TreeMap。

以上這篇淺談Java中幾個(gè)常用集合添加元素的效率就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論