En las clases de colección central de Java, solo puede almacenar tipos de referencia (algo que amplía un java.lang.Object). Usted no puede primitivas tienda como int
y byte
. Tenga en cuenta que una matriz como byte[]
no es primitiva sino que también es un tipo de referencia.
Como se mencionó @Giuseppe, se puede definir así:
Hashtable<Integer, ArrayList<Byte>> table = new Hashtable<Integer, ArrayList<Byte>>();
y luego poner primitivos int
's en ella como claves:
table.put(4, ...);
porque desde Java 1.5, autoboxing automáticamente lo hará cambie la primitiva int
en un Integer
(una envoltura) detrás de las escenas.
Si necesita más velocidad (y midió que las clases de recolección del contenedor son el problema), podría usar una biblioteca de terceros que pueda almacenar primitivas en sus colecciones. Un ejemplo de tales bibliotecas es Trove y Colt.