首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Flutter 零基础入门(六):Map 键值对与简单数据模型》

Flutter 零基础入门(六):Map 键值对与简单数据模型》

作者头像
LarryLan
发布2026-01-16 11:11:07
发布2026-01-16 11:11:07
1760
举报

Flutter&Dart零基础入门教程(一)

Flutter 零基础入门(二):Dart 字符串与字符串插值

Flutter 零基础入门(三):条件判断与逻辑运算》

Flutter零基础入门(四):switch、多分支判断与循环

Flutter零基础入门(五):List列表与遍历

📘Flutter 零基础入门(六):Map 键值对与简单数据模型

在上一篇中,我们学习了 List:

·用来存储一组数据

·常配合循环进行遍历

·是 Flutter 列表 UI 的基础

但很快你会发现一个问题:

List 只能存“值”, 却无法清晰地表达“这是什么数据”

例如:

代码语言:javascript
复制
['Tom', 18, true]

这三个值分别代表什么?

·名字?

·年龄?

·是否登录?

仅靠 List,很难看懂。

这时,我们就需要 Map


一、什么是 Map?

Map 可以理解为:

一组「键 - 值(key - value)」的数据

每一份数据都有:

·一个 key(名字)

·一个 value(值)

就像一张信息表:

Key

Value

name

Tom

age

18

isVip

true


二、Map 的基本定义方式

1️⃣ 定义一个 Map

代码语言:javascript
复制
Map user = {
  'name': 'Tom',
  'age': 18,
  'isVip': true
};

含义非常直观:

·name 对应名字

·age 对应年龄

·isVip 对应状态

2️⃣ 指定 key 和 value 类型(推荐)

代码语言:javascript
复制
Map<String, dynamic> user = {
  'name': 'Tom',
  'age': 18,
  'isVip': true
};

解释:

·key 是 String

·value 可以是任意类型(dynamic)

📌 这是 Flutter 项目中最常见的写法


三、访问 Map 中的数据

通过 key 来访问 value:

代码语言:javascript
复制
print(user['name']); // Tom
print(user['age']);  // 18

📌 注意:

·key 不存在时,返回 null

·Map 没有“索引”的概念


四、修改和操作 Map

1️⃣ 修改已有数据

代码语言:javascript
复制
user['age'] = 20;

2️⃣ 新增一条数据

代码语言:javascript
复制
user['city'] = 'Beijing';

3️⃣ 删除数据

代码语言:javascript
复制
user.remove('isVip');

五、为什么 Map 经常和 List 一起使用?

在真实业务中,常见的数据结构是:

List<Map>

例如:

·用户列表

·商品列表

·消息列表

示例:用户列表

代码语言:javascript
复制
List<Map<String, dynamic>> users = [
  {
    'name': 'Tom',
    'age': 18,
  },
  {
    'name': 'Lucy',
    'age': 20,
  }
];

这里表示:

·一个用户列表(List)

·每个用户是一条 Map


六、遍历 List + Map(真实开发写法)

代码语言:javascript
复制
for (var user in users) {
  print('姓名:${user['name']},年龄:${user['age']}');
}

📌 你会发现:

·List 决定“有多少条数据”

·Map 决定“每条数据有什么字段”


七、Map 就是“简单数据模型”

在 Flutter 项目中,Map 通常用于:

·模拟接口返回的数据

·临时存储一条业务数据

·构建简单数据模型

例如:

代码语言:javascript
复制
Map product = {
  'title': 'iPhone',
  'price': 5999,
  'inStock': true
};

这已经非常接近真实项目中的数据结构了。


八、一个综合示例

代码语言:javascript
复制
List<Map<String, dynamic>> products = [
  {'name': 'iPhone', 'price': 5999},
  {'name': 'iPad', 'price': 3999},
];

for (var product in products) {
  print('${product['name']} 的价格是 ¥${product['price']}');
}

这个例子用到了:

·List

·Map

·循环

·字符串插值


九、Map 在 Flutter UI 中的意义

在 Flutter 中:

·页面展示的数据通常来自 Map

·接口返回的数据几乎都是 Map / JSON

·Map 是学习 Model 类 的前置知识

📌 后续你会学到:

如何把 Map 变成真正的 Dart 类


十、总结

本篇你已经学会了:

·什么是 Map

·Map 与 List 的区别

·List + Map 的组合使用

·使用 Map 描述一条完整数据

你已经完成了从:

“零散数据” → “结构化数据” 的重要跃迁

🔜 下一篇预告

《Flutter 零基础入门(七):函数(Function)与代码封装》

下一篇我们将学习:

·什么是函数

·如何封装重复逻辑

·函数的参数与返回值

·为后续 Widget 抽离逻辑做准备

从下一篇开始,你将真正学会:

写“可复用”的代码

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-01-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Larry的Hub 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Flutter&Dart零基础入门教程(一)
  • Flutter 零基础入门(二):Dart 字符串与字符串插值
  • Flutter 零基础入门(三):条件判断与逻辑运算》
  • Flutter零基础入门(四):switch、多分支判断与循环
  • Flutter零基础入门(五):List列表与遍历
  • 📘Flutter 零基础入门(六):Map 键值对与简单数据模型
    • 二、Map 的基本定义方式
      • 1️⃣ 定义一个 Map
      • 1️⃣ 修改已有数据
      • 示例:用户列表
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档