大多数编程中都会使用数组来表示一组数据,Dart也是一样。
Dart以List对象的形式表示数组。 List只是一组有序的对象。 Dart:core库提供了List类,可以创建和操作列表。
Dart中列表表示逻辑如下:
- test_list 是集合的标识符。
- 该列表包含值12,13和14.保存这些值的存储块称为元素。
- List中的每个元素都由一个称为索引的唯一编号标识。 索引从零开始并向上扩展到n-1,其中n是List中元素的总数(List的长度)。 索引也称为下标。
列表可以归类为
- 固定长度列表
- 不固定长度列表(Growable List)
本文接下来将围绕这两种类型进行讨论。
固定长度列表
固定长度列表的长度不能在运行时更改。 创建固定长度列表的语法如下所示:
Step1 – 声明列表
声明固定长度列表的语法如下:
var list_name = new List(initial_size)
上面的语法创建了指定大小的列表。 列表不能在运行时增长或缩小。 任何调整列表大小的尝试都将导致异常。
Step2 – 初始化列表
初始化列表的语法如下所示:
lst_name[index] = value;
Example
void main() { var lst = new List(3); lst[0] = 12; lst[1] = 13; lst[2] = 11; print(lst); }
上面的代码将会输出以下结果:
[12, 13, 11]
不固定长度列表(Growable List)
可增长列表的长度可以在运行时更改。 声明和初始化可增长列表的语法如下所示:
Step1 – 声明列表
var list_name = [val1,val2,val3] --- 创建一个包含值的列表 OR var list_name = new List() --- 创建一个空的列表
Step2 – 初始化列表
index / subscript用于引用应该用值填充的元素。 初始化列表的语法如下所示:
list_name[index] = value;
Example
以下示例显示如何创建3个元素的列表。
void main() { var num_list = [1,2,3]; print(num_list); }
上面的代码将会输出以下结果:
[1, 2, 3]
Example
以下示例使用空List()构造函数创建零长度列表。 List类中的add()函数用于动态地向列表中添加元素。
void main() { var lst = new List(); lst.add(12); lst.add(13); print(lst); }
上面的代码将会输出以下结果:
[12, 13]
List 属性
下面表格列出了dart:core库中List类的一些常用属性。
序号 | 属性名和描述 |
---|---|
1 | first 返回第一个元素大小写。 |
2 | isEmpty 如果集合没有元素,则返回true。 |
3 | isNotEmpty 如果集合至少包含一个元素,则返回true。 |
4 | length 返回列表的大小。 |
5 | last 返回列表中的最后一个元素。 |
6 | reversed 以相反的顺序返回包含列表值的可迭代对象。 |
7 | Single 检查列表是否只有一个元素并返回它。 |