Flutter 中的 Map 是一种键值对的集合,可以存储任意类型的数据,并且可以通过键来访问和操作对应的值。
1. 创建 Map
可以使用 {}
或者 Map.from()
方法来创建 Map。例如:
// 使用 {} 创建 Map var myMap = { 'key1': 'value1', 'key2': 'value2', 'key3': 'value3', }; // 使用 Map.from() 创建 Map var myMap = Map.from([ ['key1', 'value1'], ['key2', 'value2'], ['key3', 'value3'], ]);
2. 添加元素
可以使用 map[key] = value
或者 map.put(key, value)
方法来添加元素。例如:
myMap['key4'] = 'value4'; myMap.put('key5', 'value5');
3. 获取元素
可以使用 map[key]
方法来获取元素。如果键不存在,会返回 null。例如:
var value = myMap['key1']; // value = 'value1'
4. 删除元素
可以使用 map.remove(key)
或者 map.clear()
方法来删除元素。例如:
myMap.remove('key2'); // 删除键为 'key2' 的元素 myMap.clear(); // 清空所有元素
5. 遍历元素
使用键来获取值:通过使用键作为索引,可以获取到与之对应的值。例如,map['key']可以获取到键为'key'的元素的值。
可以使用 for..in
循环或者 map.keys
和 map.values
方法来遍历元素。
5.1 使用keys方法获取所有的键
map.keys可以获取到Map中所有的键,返回的也是一个Iterable对象
for (var key in myMap.keys) { print('${key}: ${myMap[key]}'); }
或者:
for (var key in myMap.keys) { print('${key}: ${myMap.values.firstWhere((value) => value == myMap[key])}'); // 使用 values 遍历找到对应的值并输出,可能会效率低下,不建议频繁使用此操作。 }
或者
void main() { var map = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}; for (var entry in map.entries) { print('Key: ${entry.key}, Value: ${entry.value}'); } }
5.2 Map.Entry
firstEntry是Map类的一个方法,用于获取Map中的第一个元素。返回的是一个MapEntry对象,可以通过entry.key和entry.value来获取键和值。
var entry = map.firstEntry; // 获取第一个元素 print('Key: ${entry.key}, Value: ${entry.value}');
lastEntry
方法返回Map中的最后一个元素
var map = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}; var lastEntry = map.lastEntry; print('Key: ${lastEntry.key}, Value: ${lastEntry.value}');
输出结果为:Key: key3, Value: value3
singleEntry
方法返回Map中的唯一个元素,如果Map中只有一个元素,则返回该元素;如果Map中没有元素或者有多个元素,则返回null。
var map = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}; var singleEntry = map.singleEntry; if (singleEntry != null) { print('Key: ${singleEntry.key}, Value: ${singleEntry.value}'); } else { print('Map is empty or contains multiple entries.'); }
输出结果为:Key: key3, Value: value3
如果Map中没有元素或者有多个元素,使用singleEntry
方法会返回null,需要进行空判断或者异常处理。
5.3 forEach方法对Map中的每个键值对进行遍历
void main() { var map = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}; map.forEach((key, value) { print('Key: $key, Value: $value'); }); }
5.4 使用for循环遍历Map中的键值对
void main() { var map = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}; for (var entry in map.entries) { print('Key: ${entry.key}, Value: ${entry.value}'); } }
5.5 使用entries方法遍历Map中的所有键值对
void main() { var map = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}; for (var entry in map.entries) { print('Key: ${entry.key}, Value: ${entry.value}'); } }
到此这篇关于Flutter Map常用操作方法总结的文章就介绍到这了,更多相关Flutter Map内容请搜索好代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好代码网!