list - 如何在 Dart map 中使用和存储列表?

标签 list dart flutter maps

好人好样的,

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

我错误地认为:

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

会工作,但不会。

那么……它是如何工作的?

提前谢谢你,

弗朗切斯科

最佳答案

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

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

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

关于list - 如何在 Dart map 中使用和存储列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55497232/

相关文章:

list - 从另一个创建列表

flutter - Flutter Textform验证未显示

controller - StreamBuilder 中具有初始值的 TextField

python - 将一个句子分成两部分并将它们作为 Python 中的键和值存储到 defaultdict 中

python - 如何摆脱 python 列表中的列表?

dart - 为什么有条件地转换为接口(interface)类型在 dart 中失败?

Flutter Vertical Tab 仅在水平方向滚动

Flutter:不同的应用程序图标和应用程序名称取决于发布/生产版本或调试/开发版本?

python - 如何将字符串拆分为两个数字

flutter - 当前位置动摇