
离线 TA的专栏
- 打卡等级:热心大叔
- 打卡总天数:228
- 打卡月天数:0
- 打卡总奖励:3371
- 最近打卡:2025-11-08 03:51:34
|
目录
- 1. 创建 Map
- 2. 添加元素
- 3. 获取元素
- 4. 删除元素
- 5. 遍历元素
- 5.1 使用keys方法获取所有的键
- 5.2 Map.Entry
- 5.3 forEach方法对Map中的每个键值对进行遍历
- 5.4 使用for循环遍历Map中的键值对
- 5.5 使用entries方法遍历Map中的所有键值对
Flutter 中的 Map 是一种键值对的集合,可以存储任意类型的数据,并且可以通过键来访问和操作对应的值。
1. 创建 Map
可以使用 或者 方法来创建 Map。例如: - // 使用 {} 创建 Map
- var myMap = {
- 'key1': 'value1',
- 'key2': 'value2',
- 'key3': 'value3',
- };
- // 使用 Map.from() 创建 Map
- var myMap = Map.from([
- ['key1', 'value1'],
- ['key2', 'value2'],
- ['key3', 'value3'],
- ]);
复制代码 2. 添加元素
可以使用 或者 方法来添加元素。例如: - myMap['key4'] = 'value4';
- myMap.put('key5', 'value5');
复制代码 3. 获取元素
可以使用 方法来获取元素。如果键不存在,会返回 null。例如: - var value = myMap['key1']; // value = 'value1'
复制代码 4. 删除元素
可以使用 或者 方法来删除元素。例如: - myMap.remove('key2'); // 删除键为 'key2' 的元素
- myMap.clear(); // 清空所有元素
复制代码 5. 遍历元素
使用键来获取值:通过使用键作为索引,可以获取到与之对应的值。例如,map['key']可以获取到键为'key'的元素的值。
可以使用 循环或者 和 方法来遍历元素。
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}');
复制代码方法返回Map中的最后一个元素 - var map = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'};
- var lastEntry = map.lastEntry;
- print('Key: ${lastEntry.key}, Value: ${lastEntry.value}');
复制代码输出结果为:Key: key3, Value: value3 方法返回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中没有元素或者有多个元素,使用 方法会返回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内容请搜索晓枫资讯以前的文章或继续浏览下面的相关文章希望大家以后多多支持晓枫资讯!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:  进行删除处理。
4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
|