Heim  >  Artikel  >  Java  >  Beschreiben Sie kurz die Effizienz des Hinzufügens von Elementen zu sechs Sammlungen

Beschreiben Sie kurz die Effizienz des Hinzufügens von Elementen zu sechs Sammlungen

Y2J
Y2JOriginal
2017-05-08 15:42:351370Durchsuche

Der folgende Editor bietet Ihnen eine kurze Diskussion über die Effizienz des Hinzufügens von Elementen zu mehreren häufig verwendeten Sammlungen in Java. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor, um einen Blick darauf zu werfen.

Initialisieren Sie die zu vergleichende Sammlung, fügen Sie einheitlich 100.000 Elemente hinzu und ermitteln Sie die Ausführungszeit des gesamten Prozesses.

1. Elemente zur Listensammlung hinzufügen

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"); // 输出程序运行时间

 }

Programmausgabe:

Liste hinzugefügt Die Laufzeit des Programms mit 100.000 Elementen beträgt: 8ms

2. Elemente zur Set-Sammlung hinzufügen

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"); // 输出程序运行时间

 }

Programmausgabe :

Set fügt 100.000 Elemente hinzu: 17 ms

3. Elemente zum LinkedList-Set hinzufügen

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");

 }

Programmausgabe:

LinkedList fügt 100.000 Elemente hinzu: 8ms

Elemente zur TreeSet-Sammlung hinzufügen

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");

 }

Programmausgabe:

TreeSet fügt 100.000 Elemente hinzu. Die Programmlaufzeit beträgt: 40 ms

Zusammenfassung: Ohne Berücksichtigung von Deduplizierung und Sortierung lautet die Ausführungseffizienzreihenfolge der oben genannten häufig verwendeten Sammlungen: ArrayList >= LinkedList > TreeSet

5. Elemente zum HashMap-Set hinzufügen

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");

 }

Programmausgabe:

HashMap fügt 100.000 Elemente hinzu: 17 ms

6. Elemente zur TreeMap-Sammlung hinzufügen

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");
 }

Programmausgabe:

Die Programmlaufzeit beträgt: 40 ms

Zusammenfassung: Ohne Berücksichtigung Bei der Sortierung ist die Ausführungseffizienz von HashMap höher als die von TreeMap: HashMap > TreeMap.

[Verwandte Empfehlungen]

1.Kostenloses Java-Video-Tutorial

2.Java implementiert gleiche Anteile von Bilder Miniaturbild-Video-Tutorial

3. FastJson-Tutorial-Handbuch

Das obige ist der detaillierte Inhalt vonBeschreiben Sie kurz die Effizienz des Hinzufügens von Elementen zu sechs Sammlungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn