Dart基础学习-map类型使用
map对象是一组的键/值对,在map中键和值可以是任何类型。当然map是动态集合,可以在运行时增长和缩小。clear清空mapupdate提供一个 key, 更新 Map 中跟 key 对应的 valueupdateAll迭代更新每一个key /value var map4 = {"A": 1, "b": 2, "c": 3}; print; //{A: 1, b: 2, c: 3} pri
map对象是一组的键/值对,在map中键和值可以是任何类型。当然map是动态集合,可以在运行时增长和缩小。clear清空mapupdate提供一个 key, 更新 Map 中跟 key 对应的 valueupdateAll迭代更新每一个key /value var map4 = {"A": 1, "b": 2, "c": 3}; print; //{A: 1, b: 2, c: 3} print; //1 map4.addAll; print; //{b: 2, c: 3, D: 4, E: 5} print; //false print; //true map4.forEach; //b : 2 //c : 3 //D : 4 //E : 5 print; //{b: 3, c: 4, D: 5, E: 6} map4.removeWhere; print; //{b: 2, c: 3, D: 4, E: 5} map4.putIfAbsent; map4.update; map4.updateAll; print; //{b: 3, c: 4, D: 5, E: 6, B: 8} map4.clear(); print; //{}
map对象是一组的键/值对,在map中键和值可以是任何类型。当然map是动态集合,可以在运行时增长和缩小。 属性 描述 keys 获取所有的key值 values 获取所有的value值 isEmpty 是否为空 isNotEmpty 是否不为空 length map长度 方法 描述 remove 删除指定key的数据 addAll 合并映射 给映射内增加属性 containsKey 是否包含指定的key 返回true/false containsValue 是否包含指定的value 返回true/false forEach 迭代 map 对map进行迭代返回一个新的map removeWhere 删除满足条件键/值 putifAbsent 向一个 Map 中添加不存在的键值对,如果 key 已经存在,则原 Map 不变。 clear 清空map update 提供一个 key, 更新 Map 中跟 key 对应的 value updateAll 迭代更新每一个key /value构造创建map
var map3 = new Map();
创建一个可变的map
var map = {"A": 1, "b": 2, "c": 3}; print(map); //{A: 1, b: 2, c: 3} map['D'] = 4; print(map); //{A: 1, b: 2, c: 3, D: 4}
创建一个不可变map
var map1 = const {"A": 1, "b": 2, "c": 3}; print(map1); //{A: 1, b: 2, c: 3} map1['D'] = 4; print(map1); //Cannot set value in unmodifiable Map
常用属性
var map2 = const {"A": 1, "b": 2, "c": 3}; print(map2.keys); print(map2.values); print(map2.length); print(map2.isEmpty); print(map2.isNotEmpty); //(A, b, c) //(1, 2, 3) //3 //false //true
常用方法
var map4 = {"A": 1, "b": 2, "c": 3}; print(map4); //{A: 1, b: 2, c: 3} print(map4.remove('A')); //1 map4.addAll({'D': 4, 'E': 5}); print(map4); //{b: 2, c: 3, D: 4, E: 5} print(map4.containsKey("A")); //false print(map4.containsValue(2)); //true map4.forEach((key, value) { print('$key : $value'); }); //b : 2 //c : 3 //D : 4 //E : 5 print(map4.map((key, value) => MapEntry(key, value + 1))); //{b: 3, c: 4, D: 5, E: 6} map4.removeWhere((key, value) => value == 1); print(map4); //{b: 2, c: 3, D: 4, E: 5} map4.putIfAbsent('B', () => 6); map4.update('B', (value) => 7); map4.updateAll((key, value) => value = value + 1); print(map4); //{b: 3, c: 4, D: 5, E: 6, B: 8} map4.clear(); print(map4); //{}