Как я могу использовать и хранить список внутри карты в дартс? - PullRequest
0 голосов
/ 03 апреля 2019

Да, хорошие люди,

Мне нужно иметь возможность добавлять и удалять элементы из списка, хранящегося на карте;

Я ошибочно предположил, что это:

 final Map<int,List<int>> _map = Map();
_map[1].add(1);
int _data=_map[1][0];

или вот это:

Map<int,List<int>> _map = Map<int,List<int>>();
List _list = List();
_list.add(1);
_map[1]=_list;
int _data=_map[1][0];

будет работать, но не работает.

Итак ... как это работает?

Заранее спасибо,

Франческо

1 Ответ

1 голос
/ 03 апреля 2019

Первый _map[1] пытается получить значение на карте _map для данного ключа 1.Но в это время _map пусто, поэтому возвращает null.

Чтобы лениво инициализировать вашу карту, вы можете сделать:

final Map<int,List<int>> _map = Map();
_map.putIfAbsent(1, () => <int>[]).add(1);
int _data=_map[1][0];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...