私は迷路を表す2D配列を持っており、ループ内でこの配列の状態を更新しています。更新が終わるたびに、2D配列をArrayListに追加します。私の問題は、ArrayList内のいずれかの状態にアクセスしようとするとき、常に2D配列の最終状態を示します。 2D配列を変更するとき、ArrayList内に格納されている以前の状態をすべて変更していますか?ArrayListから2D配列を取得する際の問題
List<int[][]> list;
int[][] maze;
int[][] temp = new int[maze.length][];
for(int i = 0; i < maze.length; i++)
{
temp[i] = new int[maze[i].length];
System.arraycopy(maze[i], 0, temp[i], 0, maze[i].length);
}
list.add(temp);
これは次のようになり
_ "2D配列を変更するとき、ArrayList内に格納されている以前の状態もすべて変更していますか?" _ - はい – phflack
ありがとう、それは多くの意味があります。 – tjulich
回避策の回答を追加する – phflack