簡體   English   中英

添加到檢索到的ArrayList

[英]Adding to retrieved ArrayLists

這是線

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

波浪是

ArrayList<ArrayList<Integer>>

這意味着它包含其他整數列表。 我的問題是,當我通過調用檢索特定的整數列表時

waves.get(index)

然后向其中添加一個Integer值

waves.get(index).add(anInt)

它將“ anInt”添加到每個單獨的列表中,該列表顯示在“ waves”列表中。 這真的是它的工作方式嗎,或者我可能會在代碼中搞砸其他地方。

它將“ anInt”添加到每個單獨的列表中,該列表顯示在“ waves”列表中。

我能想到的唯一合理的原因是,所有添加到List<List<Integer>>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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM