私は数独解決プログラムに取り組んでおり、9x9 ボードの各正方形の 1 から 9 までの数字を保持する配列リストが必要です。これらの配列リストのそれぞれは、その正方形に入る可能性のある数字に対応します。数字がその正方形に入ることができない場合、その数字はリストから削除されます。
たとえば、正方形 (3,5) に対応する配列リストから番号 7 を削除したい場合など、作業中の現在の正方形の配列リストを取得できるようにしたい
arrayOfLists[3][5].remove(Integer.valueOf(7));
しかし、これを行う方法がわかりません。配列を作成しようとすると、配列リストの配列を宣言する行でこのエラーが発生します
ArrayList のジェネリック配列を作成できません
これが私のコードです:
//create arraylist
ArrayList<Integer> nums = new ArrayList<Integer>();
//fill arraylist with numbers 1-9
for (int i = 1; i < 10; i++) {
nums.add(i);
}
//create 9x9 array of arraylists
ArrayList<Integer>[][] array = new ArrayList<Integer>[9][9];
//fill each element of array with arraylist of numbers 1-9
for(int i = 0; i<9; i++){
for(int j = 0; j<9; j++){
array[i][j] = nums;
}
}
}
これは間違っていますか、それとも配列リストの配列を作成することはできませんか? それが不可能な場合、どうすればよいですか?