【发布时间】:2020-03-19 13:45:16
【问题描述】:
我正在尝试将数组数组添加到 Java 中的 ArrayList。只有递归的最后一次迭代被多次添加到 ArrayList 中。我有以下 Java 类:
import java.util.ArrayList;
public class Test {
ArrayList<int[][]> result;
int[][] part;
public Test() {
result = new ArrayList<int[][]>();
part = new int[2][2];
}
public void fill(int i) {
if(i > 0) {
part[0][0] = i;
result.add(part);
i--;
fill(i);
}
}
public static void main(String[] args) {
Test test = new Test();
test.fill(4);
for(int l = 0; l < test.result.size() - 1; l++) {
for(int i = 0; i < 2; i++) {
for(int j = 0; j < 2; j++) {
System.out.print(test.result.get(l)[i][j] + " ");
}
System.out.println();
}
System.out.println("-----");
}
}
}
当我运行它时,我得到以下结果:
1 0
0 0
-----
1 0
0 0
-----
1 0
0 0
-----
我期望的地方:
3 0
0 0
-----
2 0
0 0
-----
1 0
0 0
-----
【问题讨论】:
标签: java arrays recursion arraylist multidimensional-array