Dart中的集合类型:List(数组/列表)

在Dart编程语言中,集合是一种用于存储多个值的数据结构,其中最常用的一种是List(数组或列表)。本文将通过实例详细解析Dart中List的定义、操作及其特性。

1. List的定义

动态类型定义

// 第一种定义List的方式(动态类型)
var dynamicList = [1, 2, "3", true, 5, 6, 7];
print(dynamicList);
// 获取List长度
print(dynamicList.length);
// 根据下标获取元素
print(dynamicList[0]);

在这个例子中,我们创建了一个名为dynamicList的List,它能够容纳任何类型的元素,因此被称为动态类型List。

2. 明确类型定义

// 第二种定义List的方式(明确类型)
var integerList = <int>[1, 2, 3, 4, 5];
// 反转List
print(integerList.reversed);
print(integerList);
// 获取最后一个元素
print(integerList.last);

这里我们创建了一个指定只包含整数类型的ListintegerList。同时展示了如何使用.reversed属性来获取List的反转视图。

3. 动态增加元素

// 第三种定义List方式(空集合增加数据)
var emptyList = <int>[];
print(emptyList);
print(emptyList.length);
// 向List中添加元素
emptyList.add(11);
emptyList.add(11);
emptyList.add(11);
emptyList.add(11);
print(emptyList);

此例中,我们首先创建了一个初始为空的整数ListemptyList,然后通过.add()方法逐个添加元素。

4. 固定长度List

// 第四种定义List方式(固定长度,无法add)
var fixedLengthList = List.filled(10, "ab");
print(fixedLengthList); // 输出:[ab, ab, ab, ab, ab, ab, ab, ab, ab, ab]
fixedLengthList[2] = "AA";
print(fixedLengthList); // 输出:[ab, ab, AA, ab, ab, ab, ab, ab, ab, ab]

最后,我们利用List.filled()方法创建了一个具有固定长度且所有元素初始化为相同值的ListfixedLengthList。尽管其长度固定,但仍然可以修改已存在的元素值。