2016-10-21 3 views
-5

PatriciaTrie oder HashMap, die am besten ist, große (100 Tausende Datensätze) Datenmenge in Sitzung zu speichern. Wie PatriciaTrie den Speicher reserviert - Zum Beispiel - HashMap reserviert den Speicher nach Initial_Size * loadFactor.PatriciaTrie oder HashMap, die am besten ist, um große Datenmengen in Sitzung zu speichern

+0

Definiere "groß" - mindestens so groß wie? Was? Hunderte von Einträgen? Wenige Mega-Einträge? –

+0

Führen Sie einige Tests durch, um herauszufinden, was besser funktioniert. – Henry

+0

Ich brauche eine Erklärung, warum ich PatriciaTrie anstelle von HashMap verwenden werde. – user2817898

Antwort

0

Momentan suche ich nach dem besten Ersatz für HashMap, da der Speicheraufwand höher ist und ich die Daten schneller aktualisieren und abrufen muss.

Ich weiß nicht, ob ein Trie geben Ihnen einen kleineren Speicher-Overhead als ein HashMap. Es hängt von der Größe und Verteilung der Schlüssel ab und davon, wie Sie das Trie implementieren. Das gleiche gilt wahrscheinlich für die Geschwindigkeit der Suche und Aktualisierung.

Ich glaube, Sie werden versuchen müssen (kein Wortspiel beabsichtigt) beide Alternativen und Maß die Leistung ... mit Datensätzen, die Vertreter Ihrer aktuellen Daten sind.

Der andere Punkt (den Sie scheinbar missverstanden haben) ist, ob Sie beabsichtigen, die Trie-spezifischen Methoden in der API zu nutzen; z.B. ceiling, floor, headMap, tailMap, first, last, und so weiter. Wenn Sie dies tun, müssen Sie eine Trie ... oder eine andere navigierbare Karten-API verwenden. Sie können solche Dinge nicht effizient mit einem HashMap tun.

Verwandte Themen