2014-11-15 36 views
0

我找不到一个舒适的阵列,它不使用自动装箱。我需要仔细看看内存大小,并且想要使用像int这样的基本结构,而不是像Integer那样的对象。有没有自动装箱的舒适阵列

使用int[],在固定尺寸/位置的事情上非常不舒服。但我不能使用像LinkedListListArray之类的东西,因为它们只能与Integer而不是int一起使用。

所以我想问一下,如果有任何舒适的阵列,可以使用原始数据结构,如int,而不是Objects

+0

'ArrayList'而不是'ListArray'? – ceztko

+0

另外,我认为这是一个真正的Java [限制](http://stackoverflow.com/questions/2721546/why-dont-java-generics-support-primitive-types)。 – ceztko

+0

你正在寻找的谷歌关键字是“原始类型集合”。 –

回答

2

你不能直接用Java集合来做,但有一些外部库实现了基本类型的集合。

例如,GNU Trove有TIntArrayList和Apache Commons Primitives有ArrayIntList。两者都适合您的需求。

0

简短回答是:不,Java默认不提供int s。 ArrayList只能包含Object子类,并且原语不会继承Object

然而,你可以写自己的实现的Listint S或工作 - 最好 - 使用类似TIntArrayList