简介
在 Dart 中,List 是一种非常常用的集合类型,用于存储一组有序的元素。列表中的每个元素都有一个唯一的索引,索引从 0 开始。本章将详细介绍如何创建和初始化 List 对象,以及如何对其进行基本操作。
基本概念
在开始之前,我们先来了解一下 List 的一些基本特性:
- 可变性:默认情况下,Dart 中的
List是可变的,这意味着你可以添加、删除或修改其中的元素。 - 类型安全性:Dart 提供了强大的类型系统,可以确保你在使用
List时不会出现类型错误。 - 空安全:Dart 2.12 引入了空安全功能,可以在编译时捕获潜在的空指针异常,这使得
List更加健壮。
创建 List 对象
使用字面量创建 List
最简单的方式是使用字面量创建 List,这种方式适用于已知固定数量元素的情况。
// www.javascriptcn.com code example
void main() {
// 创建一个包含字符串的 List
var fruits = ['apple', 'banana', 'orange'];
// 创建一个包含数字的 List
var numbers = [1, 2, 3, 4, 5];
// 创建一个空的 List
var emptyList = [];
}使用 List 构造函数创建 List
除了字面量之外,还可以通过 List 构造函数来创建 List,这种方式提供了更多的灵活性。
创建指定长度的空 List
void main() {
// 创建一个长度为 5 的空 List
var emptyList = List.filled(5, null);
// 创建一个长度为 10 的空 List,所有元素都是 0
var numberList = List.filled(10, 0);
}创建具有初始值的 List
void main() {
// 创建一个包含 5 个 'a' 的 List
var repeatedList = List.generate(5, (index) => 'a');
// 创建一个包含从 1 到 5 的数字的 List
var numberList = List.generate(5, (index) => index + 1);
}创建动态 List
如果你希望 List 的长度可以在运行时确定,那么可以使用动态初始化方法。
// www.javascriptcn.com code example
void main() {
// 动态创建 List
var dynamicList = <String>[];
// 添加元素到 List
dynamicList.add('first');
dynamicList.add('second');
dynamicList.add('third');
}类型安全的 List
为了确保类型安全,可以在创建 List 时指定元素的类型。
void main() {
// 创建一个只包含整数的 List
List<int> intList = [1, 2, 3, 4, 5];
// 创建一个只包含字符串的 List
List<String> stringList = ['one', 'two', 'three'];
}总结
通过以上介绍,你应该对如何在 Dart 中创建 List 对象有了全面的了解。无论是使用字面量、构造函数还是动态初始化,Dart 都提供了多种方式来满足不同的需求。此外,利用类型安全特性,可以使代码更加健壮和易于维护。
接下来我们将继续学习如何操作和管理这些 List 对象。