首页 > 解决方案 > 如何在 dart 的地图中使用和存储列表?

问题描述

是的,是好人,

我需要能够从存储在地图中的列表中添加和删除元素;

我错误地认为这是:

 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];

会工作,但不会。

那么它是怎样工作的?

先感谢您,

弗朗切斯科

标签: listdartfluttermaps

解决方案


第一个_map[1]尝试获取_map给定 key 在映射中的值1。但是此时_map是空的,所以它返回null

要延迟初始化地图,您可以执行以下操作:

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

推荐阅读