Die Leistung der TreeMap, HashMap und LinkedHashMap?

In der TreeMap - Elemente sind sortiert

In HashMap - Elemente sind nicht sortiert

So, wenn ich bedenke get, put und remove Methoden, welche Karte sollte ich für die Leistung?

  • Finden Sie in der Javadoc. HashMap angegeben ist, werden O(1): 'Konstante Leistung für die grundlegenden Operationen (get und put), vorausgesetzt, die hash-Funktion verteilt die Elemente richtig zu den Eimer'. TreeMap angegeben wird, um " garantiert log(n) Zeit Kosten für die containsKey, get, put und remove Operationen.
  • Ohne zu wissen, Ihre Kriterien für die Beurteilung, welche option besser wäre, diese Frage zu beantworten ist unmöglich. Klar, wenn Sie eine geordnete Sammlung nur TreeMap tun. Aber Sie wissen bereits, dass.
  • Ziemlich detailliert hier: difference-between-hashmap-linkedhashmap-and-treemap
  • Die akzeptierte Antwort sagt HashMap schneller ist. Aber die Javadocs für LinkedHashMap (Java 8) sagt, dass es geht deutlich schneller als HashMap. Also YMMV, je nach Ihren spezifischen Kriterien. Definitiv nicht verwenden TreeMap es sei denn, Sie benötigen Sie Sortieren, und verwenden Sie LinkedHashMap zu bewahren, insertion um.
InformationsquelleAutor Vicky | 2012-05-04
Schreibe einen Kommentar