我想使用for循环将元素“节点”添加到我的ArrayList listNodes中。完成后,所有元素都等于最后添加的元素。为什么会这样?
static int[][] sudoku;
// ------
List<Node> nodesList = new ArrayList<Node>();
for (int i = 0; i < n2; i++) {
for (int j = 0; j < n2; j++) {
if (sudoku[i][j] == 0) {
List<Integer> list = calculatePossibleNumbers(i,j);
nodesList.add(new Node(i,j,list));
}
}
}
private static List<Integer> calculatePossibleNumbers(int line, int column) {
List<Integer> list = new ArrayList<Integer>();
for (int i = 1; i < n2+1; i++) {
liste.add(i);
}
for (int i = liste.size()-1; i != -1; i--) {
if (pruefeBedingungen(i+1,line,column) == false) {
list.remove(i);
}
}
return list;
}