Я создал ArrayList < ArrayList < Целое число >> для хранения координат шахматной доски. У меня возникают проблемы с простое вывод чисел. Когда я выдаю размеры ArrayLists, он сообщает мне, что safeSquares имеет 64 объекта после первого набора циклов for, но этот внутренний список всегда имеет размер нуля после строки «for (ArrayList innerList: safeSquares)». Кажется, что safeSquares никогда не передает arrayLists в innerList, но пытается 64 раза.Вывод целых чисел из ArrayList <ArrayList <Integer>> в Java
static ArrayList<ArrayList<Integer>> safeSquares = new ArrayList<ArrayList<Integer>>();
static ArrayList<Integer> squares = new ArrayList<Integer>();
for(int i = 0; i < 8; i++){
squares.add(i);
for(int x = 0; x < 8; x++){
squares.add(x);
safeSquares.add(squares);
squares.remove(1);
}
squares.clear();
}
for(ArrayList<Integer> innerList : safeSquares) {
for (Integer number : innerList) {
System.out.println(number + " ");
}
}
почему вы используете squares.remove и squares.clear? – SklogW
Вы не добавляете 64 к квадратам, которые вы добавляете 72, потому что вы добавляете как внутри, так и снаружи внутреннего цикла. Затем вы каждый раз удаляете второй элемент в квадратах каждый раз (массивы нуль-индексируются) вы добавляете массив квадратов. Я не понимаю, чего вы пытаетесь достичь? –
Какой результат вы ожидаете? – janos