Копирование ArrayList в двумерный ArrayList в Java
Как можно скопировать ArrayList в ArrayList> ? Например:
ArrayList<ArrayList<String>> k = new ArrayList<>();
ArrayList<String> m = new ArrayList<>();
m.add("m1");
m.add("m2");
m.add("m3");
m.add("m4");
Теперь m нужно скопировать в k. k.add(m) - не подходит, т.к. ссылки на значения m при m.clear() будут удалены и из k. Варианты, указанные в Копирование ArrayList - реализовать не удается, т.к. не удается адресоваться к конкретному "внутреннему" ArrayList. Как можно такое копирование осуществить?
Ответы (2 шт):
Автор решения: Ilshat Nasyrov
→ Ссылка
Проще всего если закинуть создав новую коллекцию
k.add(new ArrayList<String>(m));
или склонировать
k.add((ArrayList<String>)m.clone());