2013-07-22 41 views
0

這裏是線添加到檢索到的ArrayLists

waves.get(selectedWave - 1).add(selectedMonster + selectedMosnterLevel); 

波是

ArrayList<ArrayList<Integer>> 

這意味着它保持整數的其他列表。我的問題是,當我通過調用

waves.get(index) 

,然後加上一個整數值來檢索它整數的特定列表

waves.get(index).add(anInt) 

它增加了「ANINT」到每一個列表,這是目前在「波浪」列表中。這真的是它的工作原理,或者我可能在我的代碼中的其他地方搞砸了。

+0

向我們展示如何填充'List'。 – NINCOMPOOP

+0

你在循環中調用waves.get(index)嗎? – pippin1289

+1

當然,你在代碼中的其他地方搞砸了。 – Juvanis

回答

1

它將「anInt」添加到存在於「波」列表中的每個單個列表中。

唯一可行的原因,我能想到的是,所有的List<Integer>引用其添加到List<List<Integer>>指向同一個List<Integer>對象。下面的代碼將導致此行爲:

List<List<Integer>> waves = new ArrayList<>(); 
List<Integer> list1 = new ArrayList<>(); 
List<Integer> list2 = list1; 
waves.add(list1); 
waves.add(list1); 
waves.add(list2); 
+1

嗯,我只是增加一個單一的時間... ... –

相關問題