Это кажется действительно тривиальным, но мне трудно копировать 2D String ArrayList во всю новую структуру данных 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 заключается в том, что данные могут быть добавлены к ней без инициализации размера?
Похоже, что первая строка копируется правильно, но я индексируюсь за пределы, когда пытаюсь добавить следующую строку.
'ArrayList> копия = новый ArrayList <> (вход);' ?? –
MadProgrammer
Почему у вас есть внутренний цикл? Я думаю, вы можете просто использовать для (int i = 0; i
@Thuiya, который не будет копировать 'ArrayList', это Java, а не C++. – Vallentin