В базовых классах Java-коллекции вы можете хранить только ссылочные типы (что расширяет java.lang.Object).Вы не можете хранить такие примитивы, как int
и byte
.Обратите внимание, что массив типа byte[]
не является примитивом, но также является ссылочным типом.
Как упоминалось @Giuseppe, вы можете определить его следующим образом:
Hashtable<Integer, ArrayList<Byte>> table = new Hashtable<Integer, ArrayList<Byte>>();
и затем поместить примитив int
в нем в качестве ключей:
table.put(4, ...);
, поскольку начиная с Java 1.5 autoboxing автоматически изменит примитив int
на Integer
(оболочку) за кулисами.
Если вам нужна большая скорость (и проблема заключается в измерении классов коллекций оболочек!), Вы можете использовать стороннюю библиотеку, которая может хранить примитивы в своих коллекциях.Примером таких библиотек являются Trove и Colt .