当前位置: 首页 > 最新文章 > 正文

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

admin

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是动态集合,可以在运行时增长和缩小。

构造创建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

常用属性

属性

描述

keys

获取所有的key值

values

获取所有的value值

isEmpty

是否为空

isNotEmpty

是否不为空

length

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

常用方法

方法

描述

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

  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); //{}


上一篇: 你还在用BeanUtils进行对象属性拷贝? 下一篇:vscode打断点没反应(vscode python 断点)
返回顶部