📅  最后修改于: 2023-12-03 15:36:07.900000             🧑  作者: Mango
在 Dart 中,地图可以用于将键与值相关联。它是一种无序、可更改的键值对的集合。键和值都可以是任何类型的对象。
可以使用以下方式之一创建地图:
// 创建一个空地图
var map1 = {};
// 创建一个空地图
var map2 = new Map();
// 创建包含键值对的地图
var map3 = {'key1': 'value1', 'key2': 'value2'};
// 创建包含键值对的地图
var map4 = new Map.from({'key1': 'value1', 'key2': 'value2'});
可以使用以下方法来操作 Map:
length
:获取地图中键值对的数量。keys
:获取地图中所有键的迭代器。values
:获取地图中所有值的迭代器。isEmpty
:如果地图为空,则返回 true。isNotEmpty
:如果地图不为空,则返回 true。containsKey
:如果地图包含指定的键,则返回 true。containsValue
:如果地图包含指定的值,则返回 true。remove
:通过键从地图中删除一个键值对。addAll
:将另一个地图的键值对添加到该地图中。clear
:删除地图中的所有键值对。以下是一个操作 Map 的示例:
void main() {
var map = {'name': 'John', 'age': 30};
// 获取地图的长度
print('Length of map: ${map.length}');
// 获取地图中所有键
print('Keys: ${map.keys}');
// 获取地图中所有值
print('Values: ${map.values}');
// 判断地图是否为空
print('Is map empty? ${map.isEmpty}');
// 判断地图中是否包含指定的键
print('Contains key \'name\'? ${map.containsKey('name')}');
// 判断地图中是否包含指定的值
print('Contains value \'30\'? ${map.containsValue(30)}');
// 从地图中删除一个键值对
map.remove('age');
print('Map after removing age: $map');
// 向地图中添加键值对
map.addAll({'job': 'Developer'});
print('Map after adding job: $map');
// 清空地图
map.clear();
print('Map after clearing: $map');
}
输出结果如下:
Length of map: 2
Keys: (name, age)
Values: (John, 30)
Is map empty? false
Contains key 'name'? true
Contains value '30'? true
Map after removing age: {name: John}
Map after adding job: {name: John, job: Developer}
Map after clearing: {}
在 Dart 中,地图是一种非常有用的数据结构,可以用来存储和操作键值对。使用 Map 可以轻松地实现各种常见的编程任务,例如缓存数据、分类对象等。