Я пытаюсь написать код на Java - у меня два списка:

List<List<Integer>> listOfLists;
List<Integer> listOfIntegers;

Я хочу добавить каждый из Integer в listOfIntegers к новому элементу (List) в listOfLists, тогда мне нужно очистить listOfIntegers

Я старался:

listOfLists.add(listOfIntegers);
listOfIntegers.clear();

Но это очищает ссылку на List в listOfLists

Благодаря Мануэлю Сильве я придумал то, что мне нужно:

List<Integer> newList = new ArrayList<>();
for (Integer i : lineIntegersList)
{
    newList.add(i);
}

listOfLists.add(newList);                   
lineIntegersList.clear();
-1
NRKirby 27 Апр 2014 в 17:12

2 ответа

Лучший ответ

Вы могли бы сделать что-то вроде этого ...

 ArrayList<ArrayList<String>> listOlists = new ArrayList<ArrayList<String>>();
ArrayList<String> singleList = new ArrayList<String>();
singleList.add("hello");
singleList.add("world");
listOlists.add(singleList);

ArrayList<String> anotherList = new ArrayList<String>();
anotherList.add("this is another list");
listOlists.add(anotherList);

Спасибо @tster - здесь вы создаете экземпляр своего "родительского списка" и, как вы знаете, как это сделать - просто создайте дочерний список, чтобы добавить его к родительскому ..: D

0
BruceWayne 27 Апр 2014 в 13:18
for (Integer i: listOfIntegers) {
 List<Integer> list = new LinkedList<Integer>();
 list.add(i);
 listOfLists.add(list);
}

Это решение в основном добавляет новый список с одним элементом для каждого целого числа в списке целых чисел в исходный список списка.

-1
Manuel Selva 27 Апр 2014 в 13:13