Java Vector 或 ArrayList for Primitives
2022-09-01 21:47:20
Java API 中是否有可扩展数组类,该类等效于 or 类,可以与基元(int、char、double 等)一起使用?Vector
ArrayList
我需要一个快速的,可扩展的整数数组,并且必须将它们包装在类中才能将它们与 或 一起使用似乎是浪费的。我的谷歌-fu让我失望了。Integer
Vector
ArrayList
Java API 中是否有可扩展数组类,该类等效于 or 类,可以与基元(int、char、double 等)一起使用?Vector
ArrayList
我需要一个快速的,可扩展的整数数组,并且必须将它们包装在类中才能将它们与 或 一起使用似乎是浪费的。我的谷歌-fu让我失望了。Integer
Vector
ArrayList
不幸的是,至少在Java API中没有这样的类。有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/
Trove 库为 Java 提供了高速的常规和原始集合。
请注意,由于 Trove 使用基元,因此它定义的类型不会实现 java.util 集合接口。
(LGPL 许可证)