是否有Java API中的可膨胀的数组类相当于可与原语使用的VectorArrayList类(INT,炭,双,等)?

我需要整数快速,可扩展的阵列,它似乎浪费必须将它们包装在Integer类,以便与VectorArrayList使用它们。我的谷歌福失败了我。

有帮助吗?

解决方案

有是不幸的没有这样的类下,至少在Java API英寸有href="http://pcj.sourceforge.net/" rel="noreferrer">原始类别为Java 第三方产品的

这是非常危险的,以与现有的集合类(特别是List实现)一起使用的自动装箱。例如:

List<Integer> l = new ArrayList<Integer>();
l.add(4);

l.remove(4); //will throw ArrayIndexOutOfBoundsException
l.remove(new Integer(4)); //what you probably intended!

和它也是神秘NullPointerExceptions存取(或许通过Map)的一个共同的源:

Map<String, Integer> m = new HashMap<String, Integer>();
m.put("Hello", 5);
int i = m.get("Helo Misspelt"); //will throw a NullPointerException

其他提示

http://trove4j.sourceforge.net/

  

在特罗韦库提供高速   定期和原始收藏了   Java的。

请注意,由于特罗韦使用原语的类型,它定义不执行java.util中的集合接口。

(LGPL许可证)

现代的Java支持原语的自动装箱,因此可以说

List<Integer> lst = new ArrayList<Integer>;
lst.add(42);

这至少避免了新的整数的句法醋(42)。

乔达-原语

还有原始类别的Java 但它是一个有点过时了。

Eclipse的类别具有用于所有基本类型原语的ArrayList,以及原始集袋,叠和地图。有所有的原始容器类型中的不可改变的版本。

注意:我为Eclipse类别的提交

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top