推荐答案
在 Dart 中,Map
是一种常用的数据结构,用于存储键值对。以下是 Map
的常用方法:
putIfAbsent
: 如果键不存在,则插入键值对。addAll
: 将另一个Map
的所有键值对添加到当前Map
中。remove
: 根据键删除对应的键值对。clear
: 清空Map
中的所有键值对。containsKey
: 检查Map
中是否包含指定的键。containsValue
: 检查Map
中是否包含指定的值。forEach
: 遍历Map
中的每个键值对。keys
: 获取Map
中所有键的集合。values
: 获取Map
中所有值的集合。update
: 更新指定键的值。updateAll
: 更新Map
中所有键的值。
本题详细解读
putIfAbsent
- 作用: 如果键不存在,则插入键值对。
- 示例:
var map = {'a': 1}; map.putIfAbsent('b', () => 2); print(map); // 输出: {a: 1, b: 2}
addAll
- 作用: 将另一个
Map
的所有键值对添加到当前Map
中。 - 示例:
var map1 = {'a': 1}; var map2 = {'b': 2}; map1.addAll(map2); print(map1); // 输出: {a: 1, b: 2}
remove
- 作用: 根据键删除对应的键值对。
- 示例:
var map = {'a': 1, 'b': 2}; map.remove('a'); print(map); // 输出: {b: 2}
clear
- 作用: 清空
Map
中的所有键值对。 - 示例:
var map = {'a': 1, 'b': 2}; map.clear(); print(map); // 输出: {}
containsKey
- 作用: 检查
Map
中是否包含指定的键。 - 示例:
var map = {'a': 1}; print(map.containsKey('a')); // 输出: true
containsValue
- 作用: 检查
Map
中是否包含指定的值。 - 示例:
var map = {'a': 1}; print(map.containsValue(1)); // 输出: true
forEach
- 作用: 遍历
Map
中的每个键值对。 - 示例:
var map = {'a': 1, 'b': 2}; map.forEach((key, value) { print('$key: $value'); }); // 输出: // a: 1 // b: 2
keys
- 作用: 获取
Map
中所有键的集合。 - 示例:
var map = {'a': 1, 'b': 2}; print(map.keys); // 输出: (a, b)
values
- 作用: 获取
Map
中所有值的集合。 - 示例:
var map = {'a': 1, 'b': 2}; print(map.values); // 输出: (1, 2)
update
- 作用: 更新指定键的值。
- 示例:
var map = {'a': 1}; map.update('a', (value) => value + 1); print(map); // 输出: {a: 2}
updateAll
- 作用: 更新
Map
中所有键的值。 - 示例:
var map = {'a': 1, 'b': 2}; map.updateAll((key, value) => value + 1); print(map); // 输出: {a: 2, b: 3}