【Flutter 學習筆記】線上課程教學影片:連結
【Flutter 學習筆記】系列文章目錄:連結
在 Dart 程式語言中,List(串列)是一種非常重要的資料結構,它能夠儲存有序的元素集合。每個元素都有一個從 0 開始的索引值,這使得 List 在許多應用場景中都非常實用。本文將詳細介紹如何宣告 List 以及常用的 List 操作方法,並逐步拆解程式碼,幫助讀者更清楚地理解每個部分的功能和用途。
在 Dart 中,宣告一個空的 List 非常簡單。以下是語法和範例:
// 語法說明
var 串列名稱 = <資料型別>[];
// 實際範例
var myList = <String>[];
在這個範例中,我們使用中括號 [] 來表示一個空的串列。myList 被初始化為一個空的串列,這意味著它可以儲存多個字串型別的元素,但目前尚未包含任何元素。
除了可以宣告空串列外,我們也可以在宣告的同時進行初始化。以下是語法和範例:
// 語法說明
var 串列名稱 = [元素1, 元素2, ...];
// 實際範例
var list1 = [10, 666, 168];
var list2 = ["HKT", "線上教室"];
var list3 = ["HKT", 777, "線上教室", 888]; // 資料型別,不建議混合使用
在這個範例中,我們宣告了三個 List 串列:
在 Dart 中,List 是一種動態大小的資料結構,我們可以隨時新增或刪除元素。使用 add() 方法可以將資料新增至 List 的尾端:
// 使用 add 方法將資料新增到 list1 中
list1.add(100);
list1.add(66);
list1.add(168);
list1.add(777);
print(list1); // 輸出: [10, 666, 168, 100, 66, 168, 777]
我們可以透過索引值來修改 List 中特定的一筆資料。以下是範例:
// 指定修改 list1 索引值為 2 的資料
list1[2] = 333; // 覆蓋掉之前的 168,更新為 333
print(list1); // 輸出: [10, 666, 333, 100, 66, 168, 777]
同樣地,我們可以透過索引值來存取 List 中的特定資料:
// 存取資料
print(list1[0]); // 輸出: 10
print(list1[1]); // 輸出: 666
print(list1[2]); // 輸出: 333
在存取 List 的元素時,請特別注意索引值必須在 List 的範圍內,否則會引發 RangeError 例外。
我們可以使用 length 屬性來取得 List 中目前的元素總數。以下是具體的示範程式碼:
void main() {
var list1 = [10, 666, 168];
list1.add(100);
list1.add(66);
list1.add(168);
list1.add(777);
// 取得 list1 長度
print(list1.length); // 輸出: 7
}
使用 length 屬性可以快速取得 List 的元素數量,這在進行迴圈操作或需要知道 List 大小的場景中特別有用。
若要在指定的索引位置插入新的元素,可以使用 insert 方法。以下範例展示如何在索引值 1 的位置插入整數 999:
// 插入資料
list1.insert(1, 999);
print(list1); // 輸出: [10, 999, 666, 333, 100, 66, 168, 777]
在這個範例中,我們將數字 999 插入到 list1 的索引 1 位置,原本在該位置的元素會自動向後移動。
若想要從串列中刪除特定的元素,可以使用 remove 方法。以下示範如何將數字 666 和 100 從 list1 中刪除:
// 刪除資料
list1.remove(666);
list1.remove(100);
print(list1); // 輸出: [10, 999, 333, 66, 168, 777]
在這裡,我們使用 remove 方法刪除了指定的元素,List 會自動調整索引。
若希望對一個 List 進行排序,可以使用 sort 方法。此方法會將 List 中的元素按照從小到大的順序進行排列:
// 由小到大的排序
list1.sort();
print(list1); // 輸出: [10, 66, 168, 333, 777, 999]
如果想要將 List 由大到小排序,可以自訂比較函式進行降冪排序:
// 由大到小排序
list1.sort((a, b) => b.compareTo(a));
print(list1); // 輸出: [999, 777, 333, 168, 66, 10]
若想要清空 List 中的所有元素,可以使用 clear 方法。此方法會將 List 中的所有元素刪除,使其變為空串列的狀態:
// 清空 list1
list1.clear();
print(list1); // 輸出: []
這樣一來,list1 就變成了一個空的串列,隨時可以重新添加元素。
在本文中,我們深入探討了 Dart 中的 List(串列)資料結構,從宣告、初始化、資料操作到清空串列,逐步介紹了各種常用的方法。透過這些操作,開發者可以靈活地管理和操作資料集合,提升程式的可讀性和維護性。