如何在 dart 的地图中使用和存储列表?

Posted

技术标签:

【中文标题】如何在 dart 的地图中使用和存储列表?【英文标题】:How can I use and store a list inside a map in dart? 【发布时间】:2019-08-25 02:31:31 【问题描述】:

好人啊,

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

我错误地认为:

 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】:

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

要延迟初始化你的地图,你可以这样做:

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

【讨论】:

以上是关于如何在 dart 的地图中使用和存储列表?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Dart 和 Flutter,我如何将动态小部件中的数据保存到另一个列表中的地图列表中

如何在Dart中将列表转换为地图

Dart 如何克隆地图列表

Dart 解析字符串包含地图列表 [重复]

如何正确覆盖一个类,以便在 Flutter [Dart] 中唯一地添加到地图中

如何在谷歌地图上添加多个标记