編程中最常使用的集合是數組。Dart以列表(List)對象的形式表示數組。列表(List)只是一組有序的對象。Dart的core庫提供了Lis
t類,可以創建和操作列表。
Dart中列表的邏輯表示如下 -
test_list
- 是引用集合的識別字。- 該列表包含值:
12
,13
和14
。保存這些值的存儲塊稱為元素。 - 列表中的每個元素都由一個索引唯一編號標識。索引從零開始並向上擴展到
n-1
,其中n
是List
中元素的總數。索引也稱為下標。
列表可分為兩種 -
- 固定長度列表
- 可增長列表
現在讓我們詳細地討論這兩種類型的列表。
固定長度列表
固定長度列表的長度不能在運行時更改。創建固定長度列表的語法如下所示 -
第1步 - 聲明列表
聲明固定長度列表的語法如下 -
var list_name = new List(initial_size)
上面的語法創建了指定大小的列表。列表不能在運行時增長或縮小。任何調整列表大小的嘗試都將導致異常。
第2步 - 初始化列表
初始化列表的語法如下所示 -
lst_name[index] = value;
示例
void main() {
var lst = new List(3);
lst[0] = 12;
lst[1] = 13;
lst[2] = 11;
print(lst);
}
執行上面示例代碼,得到以下結果 -
[12, 13, 11]
可增長列表
可增長列表的長度可以在運行時更改。聲明和初始化可增長列表的語法如下所示 -
第1步 - 聲明列表
var list_name = [val1,val2,val3]
// --- 創建包含指定值的列表
// 或者
var list_name = new List()
// --- 創建一個大小為零的列表
第2步 - 初始化列表
索引/子腳本用於引用應該用值填充的元素。初始化列表的語法如下所示 -
list_name[index] = value;
示例
以下示例顯示如何創建3
個元素的列表。
void main() {
var num_list = [1,2,3];
print(num_list);
}
執行上面示例代碼,得到以下結果 -
[1, 2, 3]
示例
以下示例使用List()
空構造函數創建零長度列表。List
類中的add()
方法/函數用於動態地向列表中添加元素。
void main() {
var lst = new List();
lst.add(12);
lst.add(13);
print(lst);
}
它將產生以下輸出 -
[12, 13]
列表屬性
下表列出了dart:core庫中List類的一些常用屬性。
編號 | 屬性 | 描述 |
---|---|---|
1 | first | 返回第一個元素。 |
2 | isEmpty | 如果集合沒有元素,則返回true 。 |
3 | isNotEmpty | 如果集合至少包含一個元素,則返回true 。 |
4 | length | 返回列表的大小(元素數量)。 |
5 | last | 返回列表中的最後一個元素。 |
6 | reversed | 以相反的順序返回包含列表值的可迭代對象。 |
7 | single | 檢查列表是否只有一個元素並返回它。 |
列表基本操作
下麵我們將討論如何對列表執行一些基本操作,例如 -
編號 | 操作 | 描述 |
---|---|---|
1 | 將元素插入列表 | 可變列表可以在運行時動態增長。List.add() 函數將指定的值附加到列表的末尾並返回修改後的List 對象。 |
2 | 更新列表 | Dart中的列表可以通過以下方式更新 - 更新索引和使用List.replaceRange()函數 |
3 | 刪除列表元素 | dart:core庫中List類支持用於刪除List中的專案。 |