Dart Map

372 阅读1分钟
  1. 创建

1)new创建
var map = new Map();//Dart 2.0后new可以省略
2)字面量创建
var map = { "name" : "张三" , "age" : 18 };
3)创建不可修改的Map
var map =const {"name": "张三"}; const map = {"name": "张三"};
创建的map默认为LinkedHashMap。

  1. 修改
Map map = {};
String key = "name";
String value = "李四";
//方式一:通过"[]"操作符直接新增会更新;
map[key] = value;
//方式二:如果不存在则新增;
map.putIfAbsent(key, () => value);
//方式三:如果存在执行update,如果不存在执行ifAbsent;
map.update(key, (val) {
  if (val == value) {
    return val;
  } else {
    return value;
  }
}, ifAbsent: () => value);
  1. 遍历 Map.keys , Map.values , Map.forEach , Map.entries.forEach