dart 中的列表是可索引的对象集合。它们可以包含相同类型的对象以及不同数据类型的对象。我们也可以创建一个固定长度的列表或一个本质上可增长的列表。
dart 中的列表是基于 0 索引的。
dart 中主要有两种类型的列表。这些主要是 -
固定长度列表
成长清单
我们将在下一篇文章中探讨这两种类型的列表。
顾名思义,固定长度列表不能增长。此外,不允许将其大小操纵为其他东西。
考虑下面显示的例子 -
void main(){ var fixedLengthList = List.filled(5, 3); print(fixedLengthList); }
在上面的代码中,我们告诉编译器我们想要一个包含 int 数据值的列表,并且我们想要用默认值“3”填充五个索引。
[3, 3, 3, 3, 3]
我们还可以使用 dart 中列表类的 length 属性来计算列表的长度。
考虑下面显示的例子 -
void main(){ var fixedLengthList = List.filled(5, 3); print(fixedLengthList.length); }
5
也可以访问和更改列表的元素。我们使用方括号表示法访问列表元素,并使用方括号表示法更改特定索引处的值。
考虑下面显示的例子 -
void main(){ var fixedLengthList = List.filled(5, 3); print(fixedLengthList[0]); // 访问第 0 个索引元素 fixedLengthList[0] = 99; // 更改 0 索引处的元素 print(fixedLengthList); }输出结果
3 [99, 3, 3, 3, 3]
应该注意的是,如果我们尝试将任何元素插入列表或以任何方式尝试更改列表的长度,那么编译器将抛出错误。
考虑下面显示的例子 -
void main(){ var fixedLengthList = List.filled(5, 3); print(fixedLengthList.add(100)); print(fixedLengthList); }
Error: This expression has type 'void' and can't be used. print(fixedLengthList.add(100)); ^ Error: Compilation failed.
我们可以通过做这样的事情来创建一个可增长的列表 -
void main() { var growableList = [1, 2, 3]; print(growableList); }
[1, 2, 3]
我们可以毫无问题地访问和更改特定列表索引处的值。
考虑下面显示的示例 -
void main() { var growableList = [1, 2, 3]; growableList[1] = 99; print(growableList[0]); print(growableList); }
1 [1, 99, 3]
我们也可以添加任意数量的元素,而不必像在固定长度的列表中那样遇到任何错误。
考虑下面显示的例子 -
void main() { var growableList = [1, 2, 3]; growableList.add(3); growableList.add(5); growableList.add(10); print(growableList); }
[1, 2, 3, 3, 5, 10]