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

38 阅读3分钟

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

公众号

在前面的学习中,我们已经掌握了:

  • 变量与基本数据类型
  • 条件判断(if / switch)
  • 循环(for / while)

但到目前为止,我们处理的都是 单个数据

在真实开发中,你会经常遇到这样的场景:

  • 一个商品列表
  • 多个用户信息
  • 一组数字或字符串

这时,一个变量已经远远不够
我们需要一种可以 存储一组数据 的结构 —— List


一、什么是 List?

List 可以理解为:

一个有顺序的“容器”,用来存放多个值

例如:

  • 多个姓名
  • 多个数字
  • 多条数据记录

二、List 的基本定义方式

1️⃣ 定义一个 List

List numbers = [1, 2, 3, 4, 5];

这表示:

  • numbers 是一个列表
  • 里面存放了 5 个数字

2️⃣ 指定 List 中的数据类型(推荐)

List<int> numbers = [1, 2, 3];
List<String> names = ['Tom', 'Jack', 'Lucy'];

📌 好处:

  • 更安全
  • 更清晰
  • 编译器能帮你检查错误

三、访问 List 中的元素(索引)

List 中的每一个元素都有一个 索引(index)

  • 索引从 0 开始
  • 第一个元素索引是 0
List<String> names = ['Tom', 'Jack', 'Lucy'];

print(names[0]); // Tom
print(names[1]); // Jack

⚠️ 注意:

  • 最大索引是 长度 - 1
  • 越界会报错

四、List 的常用属性和方法

1️⃣ 获取长度

print(names.length);

2️⃣ 添加元素

names.add('Lily');

3️⃣ 修改元素

names[0] = 'Tommy';

4️⃣ 删除元素

names.remove('Jack');

五、为什么 List 常与循环一起使用?

因为 List 通常是:

一组数据,需要逐个处理

如果你这样写:

print(names[0]);
print(names[1]);
print(names[2]);

问题是:

  • 写死
  • 不灵活
  • 无法应对数据变化

这时候,就需要 遍历(循环访问)List


六、使用 for 循环遍历 List

1️⃣ 最基础的遍历方式

for (int i = 0; i < names.length; i++) {
  print(names[i]);
}

执行逻辑:

  • i 从 0 开始
  • 每次取 names[i]
  • 直到遍历完整个 List

2️⃣ 遍历并结合字符串插值

for (int i = 0; i < names.length; i++) {
  print('第 ${i + 1} 个名字是:${names[i]}');
}

七、for-in 循环(更简洁的遍历方式)

Dart 提供了一种更简单的写法:

for (var name in names) {
  print(name);
}

特点:

  • 不关心索引
  • 语法更简洁
  • 非常适合只读取数据的场景

📌 初学建议:

先掌握普通 for,再使用 for-in


八、一个综合示例

List<int> scores = [80, 95, 60, 70];

for (int score in scores) {
  if (score >= 90) {
    print('$score:优秀');
  } else if (score >= 60) {
    print('$score:及格');
  } else {
    print('$score:不及格');
  }
}

这个例子同时使用了:

  • List
  • 循环
  • 条件判断
  • 字符串插值

九、List 在 Flutter 中的实际意义

在 Flutter 中:

  • List 常用于数据源
  • ListView / GridView 都依赖 List
  • 页面上的“重复 UI”几乎都来自 List

例如(概念层面):

List<String> titles = ['首页', '消息', '我的'];

后续你会学到如何:

用一个 List,生成多个 Widget


十、总结

本篇你已经学会了:

  • 什么是 List
  • 如何定义和操作 List
  • 如何使用循环遍历 List
  • List 在 Flutter 中的重要性

你已经迈出了:

从“单个数据” → “一组数据”的关键一步


🔜 下一篇预告

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

下一篇我们将学习:

  • 什么是 Map
  • 如何用 key-value 描述一条数据
  • List + Map 的组合使用
  • 为真实业务数据建模打基础

从下一篇开始,你写的代码将越来越接近:

真实 Flutter 项目中的数据结构