2013-01-20 43 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,它會工作。