Составление списка списков - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь решить проблему кода leetcode, где у меня есть функция, и я должен вернуть список из списка. например. public List > func (корень TreeNode)

Чтобы решить эту проблему, я хочу создать еще одну функцию, в которой я передаю пустой список List и в конечном итоге возвращаю этот список List в качестве ответа.

List < List < Integer >> ret = new List < List < Integer >>();

Однако это приводит к ошибке, List является абстрактным;невозможно создать экземпляр.

Если я изменю это значение на

ArrayList < ArrayList < Integer >> ret = new ArrayList < ArrayList <Integer > >();

, я не смогу преобразовать ArrayList < ArrayList < Integer > to List < List < Integer > >.

Я даже не смогу заставить это работать.

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

Можете ли вы предложить какой-нибудь способ обойти это? Я сталкивался с подобной проблемой много раз и обычно нахожу обходной путь для ее решения. Как правильно решить эту проблему?

Ответы [ 2 ]

2 голосов
/ 10 октября 2019

Только при создании экземпляра вам нужен конкретный класс. Это должно работать

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

Это сокращение от

List<List<Integer>> listOfLists = new ArrayList<List<Integer>>();
0 голосов
/ 10 октября 2019

Список - это интерфейс . Таким образом, это означает, что вы не можете создать его экземпляр. Вы можете создать List, используя конструктор одного из его подклассов, например ArrayList.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...