In den Core-Auflistungsklassen von Java können Sie nur Referenztypen speichern (etwas, das ein java.lang.Object erweitert). Sie kann nicht speichern Primitiven wie int
und byte
. Beachten Sie, dass ein Array wie byte[]
kein primitiver, sondern auch ein Referenztyp ist.
Hashtable<Integer, ArrayList<Byte>> table = new Hashtable<Integer, ArrayList<Byte>>();
und dann primitive setzen int
ist drin als Schlüssel:
Wie @Giuseppe erwähnt, können Sie es wie folgt definieren
table.put(4, ...);
weil seit Java 1.5, wird automatisch autoboxing Ändern Sie das primitive int
in ein Integer
(ein Wrapper) hinter den Kulissen.
Wenn Sie mehr Geschwindigkeit benötigen (und die Wrapper-Auflistungsklassen sind das Problem!), Können Sie eine Bibliothek von Drittanbietern verwenden, die Grundelemente in ihren Sammlungen speichern kann. Ein Beispiel für solche Bibliotheken sind Trove und Colt.