大多数编程中都会使用数组来表示一组数据,Dart也是一样。

Dart以List对象的形式表示数组。 List只是一组有序的对象。 Dart:core库提供了List类,可以创建和操作列表。

Dart中列表表示逻辑如下:

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类的一些常用属性。

Dart List属性
序号 属性名和描述
1 first 返回第一个元素大小写。
2 isEmpty 如果集合没有元素,则返回true。
3 isNotEmpty 如果集合至少包含一个元素,则返回true。
4 length 返回列表的大小。
5 last 返回列表中的最后一个元素。
6 reversed 以相反的顺序返回包含列表值的可迭代对象。
7 Single 检查列表是否只有一个元素并返回它。