Leistung von TreeMap, HashMap und LinkedHashMap?

8

In TreeMap - Elemente werden sortiert In HashMap - Elemente sind nicht sortiert

Also, wenn ich get , put und remove Methoden betrachte, die ich für die Leistung verwenden sollte?

    
Vicky 04.05.2012, 04:36
quelle

2 Antworten

5

Verwenden Sie HashMap , es sei denn, Sie benötigen eine Bestellung. HashMap ist schneller.

Das heißt, Sie können den Wechsel vereinfachen, indem Sie die generische Schnittstelle als Deklaration verwenden:

%Vor%

Dann müssen Sie nur noch einen Platz wechseln und Ihr Code verwendet den neuen Kartentyp.

Bearbeiten:

Ein einfacher Zeittest:

%Vor%     
Keith Randall 04.05.2012, 04:52
quelle
0

Es hängt davon ab, wie schnell die Hash- und Vergleichsfunktionen auf den Schlüsseln in Ihrer Karte sind. Es hängt davon ab, ob Sie eher an der durchschnittlichen Fallleistung oder der Leistung im schlimmsten Fall interessiert sind. Es hängt davon ab, ob Sie eine gute Hash-Funktion auf die Schlüssel Ihrer Map anwenden. Hash-Werte sollten gut über die Domäne der Hash-Funktion verteilt sein (ja, sie kann von Ihren Daten abhängen).

Im Allgemeinen (wenn Sie nicht die Mühe haben, zu testen), ist eine Hash-Map oft eine gute Antwort, aber es ist auch unwahrscheinlich, dass sie einen großen Unterschied macht, wenn Sie nicht Tausende von Einträgen haben. eine "vec map" kann auch gut funktionieren).

    
dhardy 19.06.2017 10:00
quelle

Tags und Links