繁体   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