【Flutter 學習筆記】線上課程教學影片:連結
【Flutter 學習筆記】系列文章目錄:連結
在 Dart 程式語言中,Map(映射)是一種非常重要的資料結構,用於儲存鍵值對(key-value pairs)。每個鍵(key)都是唯一的,並且可以用來快速查詢對應的值(value)。這使得 Map 特別適合用於需要快速查詢的場景,例如儲存使用者資料、設定參數等。本文將逐步介紹如何宣告 Map 以及常用的操作方法,幫助讀者更深入地理解這個資料結構。
在 Dart 中,宣告一個空的 Map 可以使用以下語法:
// 語法說明
var 映射名稱 = <鍵型別, 值型別>{};
// 實際範例
var myMap = <String, int>{};
在這個範例中,我們使用大括號 {} 來表示一個空的 Map。myMap 被初始化為一個空的 Map,這意味著它可以儲存多個字串型別的鍵和整數型別的值,但目前尚未包含任何鍵值對。
除了可以宣告空 Map 外,我們也可以在宣告的同時進行初始化,透過大括號 {} 包覆一組鍵值對,並使用逗號 , 來分隔每一對鍵值:
// 語法說明
var 映射名稱 = {鍵1: 值1, 鍵2: 值2, ...};
// 實際範例
var userMap = {
"name": "HKT線上教室",
"age": 18,
"city": "臺北市"
};
在這個範例中,我們宣告了一個 userMap,它包含三組鍵值對:name 對應 HKT線上教室,age 對應 18,以及 city 對應 臺北市。
若要向 Map 中新增資料,我們可以透過指定新的鍵來添加對應的值。以下是一個簡單的範例,展示如何將資料新增至 Map 中:
// 使用鍵來新增資料
userMap["email"] = "[email protected]";
print(userMap);
// 輸出: {name: HKT線上教室, age: 18, city: 台北市, email: [email protected]}
在此範例中,我們使用鍵 email 來新增一個值 [email protected] 到 userMap 中。最後,透過 print 函式輸出整個 Map 的內容,讓我們可以清楚看到新增的資料。
若要更新 Map 中某個鍵對應的值,可以直接使用該鍵來指派新的值:
// 更新 age 的值
userMap["age"] = 25;
print(userMap);
// 輸出: {name: HKT線上教室, age: 25, city: 台北市, email: [email protected]}
在這個範例中,我們將 age 的值從 18 更新為 25。
若要取得 Map 中某個鍵對應的值,我們可以透過鍵來存取 Map 中的特定值:
// 取得資料
print(userMap["name"]); // 輸出: HKT線上教室
print(userMap["city"]); // 輸出: 台北市
在這個範例中,我們使用鍵 name 和 city 來取得對應的值。
我們可以使用 length 屬性來取得 Map 中目前的鍵值對總數:
// 取得 userMap 長度
print(userMap.length); // 輸出: 4
若想要從 Map 中刪除特定的鍵值對,可以使用 remove 方法:
// 刪除 email 鍵值對
userMap.remove("email");
print(userMap); // 輸出: {name: HKT線上教室, age: 25, city: 台北市}
在這個範例中,我們使用 remove 方法來刪除 userMap 中的 email 鍵值對。刪除後,透過 print 函式輸出 Map 的內容,確認 email 鍵值對已被成功移除。
我們可以使用 forEach 方法來走訪 Map 中的所有鍵值對,這樣可以方便地查看 Map 的內容:
// 走訪 userMap
userMap.forEach((key, value) {
print("$key: $value");
});
這段程式碼會輸出 Map 中所有的鍵值對,讓我們能夠輕鬆地查看 Map 的內容。輸出結果如下:
name: HKT線上教室
age: 25
city: 台北市
若想要清空 Map 中的所有鍵值對,可以使用 clear 方法:
// 清空 userMap 所有鍵值對
userMap.clear();
print(userMap); // 輸出: {}
在這個範例中,我們使用 clear 方法來清空 userMap 中的所有鍵值對。清空後,透過 print 函式輸出 Map 的內容,確認所有鍵值對已被成功移除。
在本文中,我們深入探討了 Dart 中的 Map(映射)資料結構,學習了如何宣告、初始化、更新、刪除以及走訪 Map 中的鍵值對。Map 是一個非常靈活且強大的資料結構,適合用於各種需要快速查詢的場景。