Я действительно не знаю, как спросить об этом, не создавая путаницы, но я попробую.Вставка ArrayLists в ArrayLists
В моем приложении Swing я хочу добавить ArrayList
в ArrayList
, а затем clear();
второй ArrayList без потери всех данных.
Вот пример:
ArrayList<ArrayList<String>> aList1 = new ArrayList<>();
ArrayList<String> aList2 = new ArrayList<>();
aList2.add("Object 1");
aList2.add("Object 2");
aList1.add(aList2);
aList2.clear();
System.out.println(aList1);
Но тогда все данные будут потеряны и aList1 пуст. Я предполагаю, что это связано с тем, что я добавляю ArrayList
как ArrayList
, а не как значения. Возможно ли сохранить данные в aList1 при удалении его с aList2
, тем самым создавая пространство для будущего использования.
Подсказка: начать чтение Javadocs для библиотеки звонков ты используешь. Например, в большинстве коллекций есть метод ** addAll() **. В вашем коде вы добавляете СПИСОК как СПИСОК к другому СПИСОК. Затем вы очищаете этот список, который вы добавили, и ваш окончательный список содержит только один список EMPTY. – GhostCat
Что делать: 'aList1.add ((ArrayList) aList2.clone());' –
Kartic
+1 на функции клонирования. ArrayList реализует Cloneable https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html –