HashMap-Alternativen zur speichereffizienten Datenspeicherung

Ich habe derzeit ein Tabellenkalkulationsprogramm, das seine Daten in einer ArrayList von HashMaps speichert. Sie werden zweifellos schockiert sein, wenn ich Ihnen sage, dass sich dies nicht als ideal erwiesen hat. Der Overhead scheint 5x mehr Speicher zu verbrauchen als die Daten selbst.

Diese Frag fragt nach effizienten Sammlungsbibliotheken. Als Antwort wurde Google Collections verwendet.ein Follow-up ist "welcher Teil". Ich habe die Dokumentation durchgelesen, habe aber nicht das Gefühl, dass sie einen sehr guten Eindruck davon gibt, welche Klassen gut dazu passen. (Ich bin auch offen für andere Bibliotheken oder Vorschläge).

So bin ich auf der Suche nach etwas, mit dem ich dichte Daten vom Typ Tabellenkalkulation mit minimalem Speicheraufwand speichern kann.

Meine Spalten werden derzeit von Feldobjekten referenziert, Zeilen von ihren Indizes, und Werte sind Objekte, fast immer StringsEinige Spalten haben viele wiederholte Werteprimäre Operationen sind das Aktualisieren oder Entfernen von Datensätzen basierend auf Werten bestimmter Felder sowie das Hinzufügen / Entfernen / Kombinieren von Spalten.

Ich kenne Optionen wie H2 und Derby, aber in diesem Fall möchte ich keine eingebettete Datenbank verwenden.

BEARBEITE: Wenn Sie Bibliotheken vorschlagen, würde ich es auch begrüßen, wenn Sie mich auf eine bestimmte Klasse oder zwei in ihnen verweisen könnten, die hier zutreffen würden. Während die Dokumentation von Sun normalerweise Informationen darüber enthält, welche Operationen O (1), welche O (N) usw. sind, sehe ich in Bibliotheken von Drittanbietern nicht viel davon und auch keine Beschreibung, welche Klassen für was am besten geeignet sind .

Antworten auf die Frage(20)

Ihre Antwort auf die Frage