Я пытаюсь представить доску 8x8 через список ArrayLists с использованием коллекций. Когда я запускаю это, операторы печати показывают, что вызываются правильные координаты.
static List<ArrayList<Integer>> BOARD = new ArrayList<>();
static {
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
BOARD.add(i, new ArrayList<>());
System.out.println("i "+i + " j "+j);
BOARD.get(i).add(i);
BOARD.get(i).add(j);
}
System.out.println("break");
System.out.println();
}
}
"First Iteration"
i 0 j 0
i 0 j 1
i 0 j 2
i 0 j 3
i 0 j 4
i 0 j 5
i 0 j 6
i 0 j 7
break
Однако на самом деле он не помещает правильные элементы в списки и возвращает следующее:
[[0, 7], [1, 7], [2, 7], [3, 7], [4, 7], [5, 7], [6, 7], [7, 7], [7, 6], [7, 5], [7, 4], [7, 3], [7, 2], [7, 1], [7, 0], [6, 6], [6, 5], [6, 4], [6, 3], [6, 2], [6, 1], [6, 0], [5, 6], [5, 5], [5, 4], [5, 3], [5, 2], [5, 1], [5, 0], [4, 6], [4, 5], [4, 4], [4, 3], [4, 2], [4, 1], [4, 0], [3, 6], [3, 5], [3, 4], [3, 3], [3, 2], [3, 1], [3, 0], [2, 6], [2, 5], [2, 4], [2, 3], [2, 2], [2, 1], [2, 0], [1, 6], [1, 5], [1, 4], [1, 3], [1, 2], [1, 1], [1, 0], [0, 6], [0, 5], [0, 4], [0, 3], [0, 2], [0, 1], [0, 0]]
Я явно что-то здесь упускаю, я кодирую уже несколько часов и, похоже, не вижу ошибки. Это характеристика c коллекций? Я думал, что только очереди будут вести себя так; но опять же я не совсем уверен.