我目前正在尝试将文本文件中的内容解析为Java中的List。但基本上我很困惑,因为它不像我期望的那样工作。
代码:
if (charArray[i] == 'R') {
ArrayList<Integer> C = new ArrayList<Integer>();
ArrayList<Integer> T = new ArrayList<Integer>();
for(int q = 0; q < input.geta()*6; q++) {
q++;
C.add((int) charArray[q+1]-48);
}
ArrayList<ArrayList<Integer>> C_C = new ArrayList<ArrayList<Integer>>();
C_C.clear();
int element = -1;
for(int t = 0; t < C.size(); t++) {
element++;
if(element == input.geta()) {
element = 0;
System.out.println("add " + (ArrayList<Integer>) T);
C_C.add((ArrayList<Integer>) T);
T.clear();
}
T.add(C.get(t));
}
System.out.println("add " + (ArrayList<Integer>) T);
C_C.add((ArrayList<Integer>) T);
System.out.println("is " + C_C);
input.setR(C_C);
}
输出:
add [2, 0, 0, 1]
add [1, 0, 1, 0]
add [2, 1, 0, 0]
is [[2, 1, 0, 0], [2, 1, 0, 0], [2, 1, 0, 0]]
我的文本文件包含:R=2,0,0,1,1,0,1,0,2,1,0,0
input.geta()是4
我的3x4矩阵应如下所示:
2 0 0 1
1 0 1 0
2 1 0 0
答案 0 :(得分:1)
你一直在操纵同一个ArrayList
。
相反,您需要每次都创建一个新的ArrayList
并将其放入C_C
:
C_C.add(new ArrayList<>(T));