2013-01-20 41 views
15

我有我想添加到ArrayList中的值来跟踪显示的数字。 这些值是整数,所以我创建了一个ArrayList;用于整数的Java ArrayList

ArrayList<Integer[]> list = new ArrayList<>(); 
int x = 5 
list.add(x); 

但我无法使用此方法向ArrayList添加任何东西。 它工作如果我使用字符串的数组列表。我必须使它成为一个字符串数组,然后以某种方式将数组转换为整数?

编辑:我有另一个问题。我希望列表只能保存3个值。我会怎么做?

+1

随着泛型:列表 myList = new ArrayList (); – Spen

回答

46

列表Integer

List<Integer> list = new ArrayList<>(); 
int x = 5; 
list.add(x); 
+4

谢谢,因为没有看到这个而感到很蠢。 – user1692517

+0

我还有一个问题。我希望列表只能保存3个值。我会怎么做? – user1692517

+0

列表是动态增长阵列。您可以将n个值添加到列表中。 –

5

您正在尝试一个整数添加到ArrayList这需要整数Integer[]的数组。它应该是

ArrayList<Integer> list = new ArrayList<>(); 

或更好

List<Integer> list = new ArrayList<>(); 
+1

当您将指导OP(或其他人)关于接口编程时,请参考[“编程接口”是什么意思?](http://stackoverflow.com/q/383947/1065197) 。 –

+0

“OP”是什么意思?我几乎在任何地方看到它,但我找不到含义 – Hengameh

+0

原创海报/原创出版商 –

0

,你不应该使用Integer[]数组列表内的ArrayList的本身就是一种阵列。只需保留[]并且它应该可以工作

2

您并未为整数创建数组列表,但您正在尝试为整数数组创建数组列表。

所以如果你想让你的代码正常工作。

List<Integer> list = new ArrayList<>(); 
int x = 5; 
list.add(x); 
0

其实你做的也没有错你的声明是对的。用你的声明JVM将创建一个ArrayList的整数数组,即arraylist中的每个条目都对应一个整数数组,因此你的add函数应该传递一个整数数组作为参数。

对于防爆:

list.add(new Integer[3]); 

这样的ArrayList第一项是一个整数阵列,它可在最大3个值保持。

0

[]在制作整数ArrayList时没有任何意义,因为我想你只是想添加整数值。 只是使用

ArrayList<Integer> list = new ArrayList(); 

创建ArrayList,它会工作。