2014-07-03 6 views
0

У меня возникла проблема при решении проблем на LeetCode. Вопрос имеет вид:Как создать экземпляр списка <Список <Integer>>?

public List<List<Integer>> generate(){ 

} 

, который требует возвращения List<List<Integer>>. Я знаю за List<T> Я могу сделать LinkedList<T> или ArrayList<T>. Как я могу создать экземпляр, чтобы компилятор не жаловался? Благодаря

ответ

2
return new ArrayList<List<Integer>>(); 

Внешний тип списка должен быть конкретный тип как ArrayList или LinkedList, но внутренний тип списка должен быть List. На более поздних версиях Java, вы можете сделать

return new ArrayList<>(); 
+0

Стоит заметить, что всякий раз, когда вы пытаетесь вставить элемент внутри внутреннего списка вы должны обязательно добавить новый ArrayList к внешнему. – Jack

+0

@Jack: Только если список, который вы пытаетесь добавить, еще не существует. – user2357112

1

List<List<Integer>> myList = new ArrayList<List<Integer>>();

Затем, когда вы хотите добавить материал к нему сделать

List<Integer> innerList = new ArrayList<Integer>(); myList.add(innerList);

Смежные вопросы