這看起來很平凡,但我無法將2D String ArrayList複製到整個新的2D String ArrayList數據結構中。複製2D字符串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數據結構的全部要點是可以將數據添加到它而不用初始化大小?
它看起來第一行被正確複製,但當我嘗試添加後續行時,我正在索引超出範圍。
'的ArrayList>拷貝=新的ArrayList <>(輸入);'?? –
MadProgrammer
你爲什麼有內循環?我認爲你可以使用 (int i = 0; i
@Thuiya不會複製'ArrayList',它不是Java而是C++。 – Vallentin