Verwendung von Java, vorausgesetzt v1.6.
Ich habe eine Auflistung, in der der eindeutige Index eine Zeichenfolge ist und der nicht eindeutige Wert eine Zahl ist. Ich muss Tausende von Abfragen anhand dieser Sammlung so schnell wie möglich durchführen.
Ich verwende derzeit eine HashMap<String, Integer>
aber ich bin besorgt, dass die Boxing/unboxing der Integer zu int macht dies langsamer.
Ich hatte an die Verwendung eines ArrayList<String>
gekoppelt mit einem int[]
.
d.h. Statt:
int value = (int) HashMap<String, Integer>.get("key");
Ich könnte
int value = int[ArrayList<String>.indexOf("key")];
Haben Sie eine Idee? Gibt es einen schnelleren Weg, dies zu tun?
p.s. Ich werde die Sammlung nur einmal erstellen und sie vielleicht einmal ändern, aber jedes Mal werde ich die Größe kennen, so dass ich die String[]
代わりに ArrayList
aber nicht sicher, ob es einen schnelleren Weg gibt, indexOf zu replizieren...