Hi zusammen,
kennt sich von euch jemand mit assoziativen Speichern aus?
Folgende Situation:
Ich habe sehr große Datenmengen.
diese sollen in einen solchen assoziativen Speicher eingetragen werden.
Der Zugriff erfolgt über die jeweilige Position der Daten (Key). Viele Positionen sind jedoch NICHT besetzt.
Der Zugriff erfolgt meist in aufsteigender Key Reihenfolge (z.B. suche nach den Daten an Position 10-1000).
Folgende Lösung bisher:
Zuerst hatte ich das ganze mit einer normalen HashMap gemacht.
Momentan verwende ich jedoch eine TreeMap, da diese ja sortiert ist und somit der Zugriff doch bestimmt schneller erfolgt. Vorallem wenn ich auf die Daten meist in aufsteigender Key Reihenfolge zugreife.
Problem ist aber dass vorallem die TreeMap viel Speicherplatz benötigt. Dies kommt vermutlich durch ihre Organisation (also auch leere Blätter im Tree besetzen den Speicher!?)
Zudem ist das befüllen der TreeMap recht langsam.
Bestimmt langsamer als in der HashMap, aber das müsste ich nochmal genauer nachmessen.
Fällt euch denn spontan ein anderer assoziativer Speicher ein?
Kennt jemand den SparseVector? Hat dieser hier eventuell hier Vorteile?
kennt sich von euch jemand mit assoziativen Speichern aus?
Folgende Situation:
Ich habe sehr große Datenmengen.
diese sollen in einen solchen assoziativen Speicher eingetragen werden.
Der Zugriff erfolgt über die jeweilige Position der Daten (Key). Viele Positionen sind jedoch NICHT besetzt.
Der Zugriff erfolgt meist in aufsteigender Key Reihenfolge (z.B. suche nach den Daten an Position 10-1000).
Folgende Lösung bisher:
Zuerst hatte ich das ganze mit einer normalen HashMap gemacht.
Momentan verwende ich jedoch eine TreeMap, da diese ja sortiert ist und somit der Zugriff doch bestimmt schneller erfolgt. Vorallem wenn ich auf die Daten meist in aufsteigender Key Reihenfolge zugreife.
Problem ist aber dass vorallem die TreeMap viel Speicherplatz benötigt. Dies kommt vermutlich durch ihre Organisation (also auch leere Blätter im Tree besetzen den Speicher!?)
Zudem ist das befüllen der TreeMap recht langsam.
Bestimmt langsamer als in der HashMap, aber das müsste ich nochmal genauer nachmessen.
Fällt euch denn spontan ein anderer assoziativer Speicher ein?
Kennt jemand den SparseVector? Hat dieser hier eventuell hier Vorteile?