(九)Dart 中的 Map(映射)
Dart 中的 Map(映射)
Map 简介
映射(Map)是无序的键值对集合,每个键(key)都对应一个值(value)。
常用属性
keys
:获取所有键(key)的集合。values
:获取所有值(value)的集合。isEmpty
:判断映射是否为空。isNotEmpty
:判断映射是否不为空。
常用方法
remove(key)
:删除指定键(key)的键值对。addAll({...})
:合并映射,向映射中添加多个键值对。containsValue(value)
:检查映射中是否包含指定的值(value),返回true
或false
。forEach
:遍历映射中的每个键值对。map
:对映射中的每个键值对进行映射操作。where
:筛选符合条件的键值对。any
:检查是否至少有一个键值对满足条件。every
:检查是否所有键值对都满足条件。
示例代码
void main() {
// 创建一个映射
Map<String, dynamic> person = {
"name": "张三",
"age": 20,
"sex": "男"
};
// 打印映射中的所有键
print('所有键: ${person.keys.toList()}');
// 打印映射中的所有值
print('所有值: ${person.values.toList()}');
// 检查映射是否为空
print('映射是否为空: ${person.isEmpty}');
print('映射是否不为空: ${person.isNotEmpty}');
// 合并映射
person.addAll({
"work": ['敲代码', '送外卖'],
"height": 160
});
print('合并后的映射: $person');
// 删除指定键的键值对
person.remove("sex");
print('删除键 "sex" 后的映射: $person');
// 检查映射中是否包含指定值
print('映射中是否包含值 "张三": ${person.containsValue("张三")}');
}