Map 是 Dart 中非常重要的数据结构之一,它用于存储键值对。了解如何操作 Map 可以帮助你更高效地处理数据。
添加和修改元素
添加元素
可以使用 []
操作符或 putIfAbsent()
方法来添加新元素到 Map 中。
void main() { var myMap = <String, int>{}; myMap['apple'] = 5; print(myMap); // 输出: {apple: 5} myMap.putIfAbsent('banana', () => 3); print(myMap); // 输出: {apple: 5, banana: 3} }
修改元素
可以使用 []
操作符直接修改 Map 中的值。
void main() { var myMap = {'apple': 5, 'banana': 3}; myMap['apple'] = 7; print(myMap); // 输出: {apple: 7, banana: 3} }
删除元素
删除单个元素
可以使用 remove()
方法来删除 Map 中的指定元素。
void main() { var myMap = {'apple': 5, 'banana': 3}; myMap.remove('apple'); print(myMap); // 输出: {banana: 3} }
删除所有元素
可以使用 clear()
方法来删除 Map 中的所有元素。
void main() { var myMap = {'apple': 5, 'banana': 3}; myMap.clear(); print(myMap); // 输出: {} }
查询元素
检查是否存在特定键
可以使用 containsKey()
方法来检查 Map 中是否存在指定的键。
void main() { var myMap = {'apple': 5, 'banana': 3}; bool hasApple = myMap.containsKey('apple'); print(hasApple); // 输出: true }
检查是否存在特定值
可以使用 containsValue()
方法来检查 Map 中是否存在指定的值。
void main() { var myMap = {'apple': 5, 'banana': 3}; bool hasThree = myMap.containsValue(3); print(hasThree); // 输出: true }
获取指定键的值
可以使用 []
操作符来获取 Map 中指定键的值。
void main() { var myMap = {'apple': 5, 'banana': 3}; int appleCount = myMap['apple']; print(appleCount); // 输出: 5 }
获取 Map 的长度
可以使用 length
属性来获取 Map 中元素的数量。
void main() { var myMap = {'apple': 5, 'banana': 3}; int length = myMap.length; print(length); // 输出: 2 }
遍历 Map
使用 for-in 循环遍历
可以使用 for-in 循环来遍历 Map 中的所有键值对。
// javascriptcn.com 代码示例 void main() { var myMap = {'apple': 5, 'banana': 3}; for (var entry in myMap.entries) { print('${entry.key}: ${entry.value}'); } // 输出: // apple: 5 // banana: 3 }
使用 keys 和 values 属性遍历
也可以分别通过 keys
和 values
属性来遍历 Map 中的键和值。
// javascriptcn.com 代码示例 void main() { var myMap = {'apple': 5, 'banana': 3}; for (var key in myMap.keys) { print(key); } // 输出: // apple // banana for (var value in myMap.values) { print(value); } // 输出: // 5 // 3 }
其他常用方法
获取 Map 的副本
可以使用 Map.from()
或 Map.of()
来创建 Map 的副本。
void main() { var originalMap = {'apple': 5, 'banana': 3}; var copiedMap = Map.from(originalMap); print(copiedMap); // 输出: {apple: 5, banana: 3} }
合并两个 Map
可以使用 addAll()
方法来合并两个 Map。
void main() { var map1 = {'apple': 5, 'banana': 3}; var map2 = {'orange': 4}; map1.addAll(map2); print(map1); // 输出: {apple: 5, banana: 3, orange: 4} }
以上就是 Dart 中 Map 常用的方法和属性。熟练掌握这些操作将大大提高你在实际项目中的效率。