这看起来很简单,但我无法将 2D String ArrayList 复制到全新的 2D String ArrayList 数据结构中。
public static ArrayList<ArrayList<String>> copy(ArrayList<ArrayList<String>> input) {
ArrayList<ArrayList<String>> copy = new ArrayList<ArrayList<String>>();
for(int i = 0; i < input.size(); i++) {
ArrayList<String> line = input.get(i); // Issue here?
for(int j = 0; j < input.get(i).size(); j++) {
line.set(j, input.get(i).get(j));
}
}
return copy;
}
我不想做一个浅拷贝,我正在尝试遍历整个 ArrayList 并将其复制到一个新的中。我觉得我没有用我的行 ArrayList 正确初始化行,但我认为 ArrayList 数据结构的重点是可以在不初始化大小的情况下将数据添加到其中?
似乎第一行被正确复制,但是当我尝试添加后续行时,我的索引超出了范围。