我正在制作一个棋盘游戏,目前正试图将2D数组中的所有周围邻居保存为列表中的列表。我遇到的问题是,当我将list1保存到list2,然后在迭代中继续并将list1更改为其他内容时,它也会影响list2,因此我丢失了另一个邻居的值。这是我尝试过的: private ArrayList<ArrayList> forcedPlays = new ArrayList<ArrayList>(); private ArrayList<Integer> forcedPlay = new ArrayList<Integer>(); private void findNeighbors(){ for (int y = -1; y <=1 ; y+=2) { for (int x = -1; x <= 1; x+=2) { if (board[myY+y][myX+x]!=null){ enemyY = myY+y; enemyX = myX+x; forcedPlay.addAll(Arrays.asList( Integer.valueOf(enemyY), Integer.valueOf(enemyX))); forcedPlays.add(forcedPlay); forcedPlay.clear()}}}}如果我的玩家被两个邻居包围,我希望强制播放的输出看起来像例如:[[2,1],[4,3]],但它看起来像[[],[]]。所以我不明白的是,如何将list1添加到list2,然后切断它们之间的联系,这样当我清除list1时,它就不会清除list2?
添加回答
举报
0/150
提交
取消