【Kotlin 入門指南】Map 集合

更新於 發佈於 閱讀時間約 5 分鐘
【Kotlin 入門指南】系列文章目錄:https://bit.ly/3t8awwL
Kotlin 線上課程教學影片:https://bit.ly/3qJ5a5Q

Map 集合

Map 集合,它以 key-value 的方式儲存資料,並確保每個 key 都是獨一無二的。在 Kotlin 中,透過 mapOf 可建立不可變的 Map 集合,這表示一旦初始化資料就無法再做增、刪、改的動作。相對地,使用 MutableMap 則能讓你動態地新增、移除、讀取和修改所有資料。

使用 mapOf 建立不可變 Map 集合

在 Kotlin 中,Map 只能一開始初始資料和事後讀取元素,之後不能進行增、刪、修。

// 建立一個不可變的 Map 集合
val map = mapOf("1" to 666, "2" to 777)
println(map) // 輸出:{1=666, 2=777}

在這個例子中,我們使用 mapOf 函數建立了一個名為 map 的 Map 集合,其中包含了兩組 key-value 對。這裡的 key 分別為 "1""2",而對應的 values 則為 666777

然而,需要注意的是,這樣的 Map 集合在建立後就變成了不可變的,也就是說無法在後續的程式執行中對其進行元素的增加、刪除或修改操作。這是因為我們使用了 val 來宣告這個 Map 集合,使其成為了一個不可變的引用,其內容無法被修改。

若我們嘗試對這樣的不可變 Map 集合進行修改,例如增加一個新的 key-value 對,就會出現編譯錯誤:

// 嘗試修改不可變的 Map 集合,會產生編譯錯誤
map["3"] = 888 // 編譯錯誤:Val cannot be reassigned

在這個範例中,嘗試在不可變的 Map 集合 map 中新增一個 key 為 "3"、value 為 888 的元素,但由於該集合為不可變的,因此編譯器會報錯指出無法重新指派值給不可變變數。

使用 MutableMap 建立可變 Map 集合

若需要事後可以修改,需使用 MutableMap 集合操作新增、移除、讀取、全部刪除資料:

// 建立一個 MutableMap
var mutableMap: MutableMap<String, Int> = mutableMapOf()

// 新增資料
mutableMap["1"] = 666
mutableMap["2"] = 777
mutableMap["3"] = 888

println("新增資料後的集合:$mutableMap")

// 移除資料
mutableMap.remove("1")
println("移除 key 為 \"1\" 後的集合:$mutableMap")

// 獲取資料
val valueForKey2 = mutableMap["2"]
println("key 為 \"2\" 的值:$valueForKey2")

// 刪除所有資料
mutableMap.clear()
println("刪除所有資料後的集合:$mutableMap")

Map 集合常用的方法

- put(key: K, value: V):新增或更新指定鍵的值。如果鍵不存在,則新增一個鍵值對,否則更新現有的鍵值對。
- putAll(from: Map<out K, V>):從另一個 Map 中複製所有的鍵值對到目前的 MutableMap 中。
- remove(key: K):移除指定鍵的鍵值對。
- clear():清空所有的鍵值對。
- containsKey(key: K):檢查指定的鍵是否存在於 MutableMap 中。
- containsValue(value: V):檢查指定的值是否存在於 MutableMap 中。
- getOrDefault(key: K, defaultValue: V):根據指定的鍵查詢對應的值,如果鍵不存在,則返回預設值。
- getOrElse(key: K, defaultValue: (K) -> V):根據指定的鍵查詢對應的值,如果鍵不存在,則通過 defaultValue - 函數生成預設值。
- keys:返回包含所有鍵的集合。
- values:返回包含所有值的集合。
- entries:返回包含所有鍵值對的集合。
- isEmpty():檢查 MutableMap 是否為空。
- size:返回 MutableMap 中鍵值對的數量。
留言
avatar-img
留言分享你的想法!
avatar-img
HKT實驗室
24會員
261內容數
哈囉!歡迎光臨我的沙龍!我是 KT,一位對應用程式開發充滿熱情的開發者。在這個專屬空間,我將與您分享我在應用開發領域的深入學習心得和豐富的實戰經驗。如果您對應用程式開發技術同樣充滿好奇,渴望不斷探索新知,歡迎成為我們的會員,一起在應用程式開發的旅途上,探索更深層次的技術世界,享受學習的樂趣。
HKT實驗室的其他內容
2023/12/15
本文介紹 Kotlin 中的延遲初始化(lateinit)和懶加載(lazy)的使用方法,以及它們之間的差異。這些關鍵字能夠提升程式效能並簡化程式碼撰寫。
Thumbnail
2023/12/15
本文介紹 Kotlin 中的延遲初始化(lateinit)和懶加載(lazy)的使用方法,以及它們之間的差異。這些關鍵字能夠提升程式效能並簡化程式碼撰寫。
Thumbnail
2023/12/11
空值例外是開發中一個常見的風險,特別是在 Kotlin 和 Java 這樣的跨平台開發中更容易出現。藉由合理地運用 Kotlin 的空值安全機制以及對 Java 程式碼的註解,可以有效地降低程式錯誤的風險,提高程式碼的可靠性和穩定性。
Thumbnail
2023/12/11
空值例外是開發中一個常見的風險,特別是在 Kotlin 和 Java 這樣的跨平台開發中更容易出現。藉由合理地運用 Kotlin 的空值安全機制以及對 Java 程式碼的註解,可以有效地降低程式錯誤的風險,提高程式碼的可靠性和穩定性。
Thumbnail
2023/12/11
在 IntelliJ IDEA 建立 Kotlin 專案時,要執行 Java 程式只需將其檔案命名為 .java,並放置在專案的 java 目錄中。這樣就可以順利執行該 Java 程式。
Thumbnail
2023/12/11
在 IntelliJ IDEA 建立 Kotlin 專案時,要執行 Java 程式只需將其檔案命名為 .java,並放置在專案的 java 目錄中。這樣就可以順利執行該 Java 程式。
Thumbnail
看更多
你可能也想看
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
在 Python 中,tuple 與 List有一個關鍵的不同點:tuple 是不可變的,這意味著一旦創建了 tuple,就無法更改其內容。 這與 List的可變性形成了對比,list 可以新增、刪除或修改元素。 元素的意思: 元素:指的是 List 中的每一個獨立的項目或值。
Thumbnail
在 Python 中,tuple 與 List有一個關鍵的不同點:tuple 是不可變的,這意味著一旦創建了 tuple,就無法更改其內容。 這與 List的可變性形成了對比,list 可以新增、刪除或修改元素。 元素的意思: 元素:指的是 List 中的每一個獨立的項目或值。
Thumbnail
在 Kotlin 程式語言中,for 迴圈非常便捷,能用於遍歷陣列、列表、集合等多種資料型別中的元素。這種遍歷方式不僅簡潔易讀,還能輕鬆處理集合內的元素。
Thumbnail
在 Kotlin 程式語言中,for 迴圈非常便捷,能用於遍歷陣列、列表、集合等多種資料型別中的元素。這種遍歷方式不僅簡潔易讀,還能輕鬆處理集合內的元素。
Thumbnail
Map 集合特性: 採 key、value 方式存放,key 唯一不能重覆。
Thumbnail
Map 集合特性: 採 key、value 方式存放,key 唯一不能重覆。
Thumbnail
Dictionary 字典 和 Set 集合 字典(Dictionary)是 Python 中一個常用的資料結構,用於儲存一組鍵值對(Key-Value pairs)。集合(Set)是 Python 中的一種無序、可變的資料結構,用於存儲多個元素,且集合中的元素是唯一的(不重複)
Thumbnail
Dictionary 字典 和 Set 集合 字典(Dictionary)是 Python 中一個常用的資料結構,用於儲存一組鍵值對(Key-Value pairs)。集合(Set)是 Python 中的一種無序、可變的資料結構,用於存儲多個元素,且集合中的元素是唯一的(不重複)
Thumbnail
題目會給定一組已經規定好的介面interface,要求我們實作HashSet這種資料結構。也就是一般數學和程式語言中所說的"集合"。
Thumbnail
題目會給定一組已經規定好的介面interface,要求我們實作HashSet這種資料結構。也就是一般數學和程式語言中所說的"集合"。
Thumbnail
List 清單 和 Tuple元組 清單在Python裡面非常的常用,大家一定要熟練這些基礎的元素。 在Python中,列表(List)是一種常用的資料類型,用於儲存一組有序的元素。列表是可變的(Mutable),這意味著你可以在列表中新增、刪除和修改元素。列表使用方括號 []
Thumbnail
List 清單 和 Tuple元組 清單在Python裡面非常的常用,大家一定要熟練這些基礎的元素。 在Python中,列表(List)是一種常用的資料類型,用於儲存一組有序的元素。列表是可變的(Mutable),這意味著你可以在列表中新增、刪除和修改元素。列表使用方括號 []
Thumbnail
list跟tuple 應用場景跟常用函式:append extend insert remove clear pop del
Thumbnail
list跟tuple 應用場景跟常用函式:append extend insert remove clear pop del
Thumbnail
Hi, 大家好。我是茶桁 通过最近几节课的内容,我们已经了解到了大部分的容器类数据的特性和应用,今天这一节课是容器类数据的最后一部分。让我们今天来详细了解一下「集合」。
Thumbnail
Hi, 大家好。我是茶桁 通过最近几节课的内容,我们已经了解到了大部分的容器类数据的特性和应用,今天这一节课是容器类数据的最后一部分。让我们今天来详细了解一下「集合」。
Thumbnail
Python提供集合做為其資料結構,它就如同高中數學所學集合的概念,集合的內容一般來說是具有某種特性的事物的整體,例如考試分數及格的群體、數字1到100內的所有奇數、球箱內所有球的顏色等。因此,在一個集合中,每個元素的地位都是相同且無序,並且只能出現一次,集合和集合之間,也可以進行交集、聯集、差集等
Thumbnail
Python提供集合做為其資料結構,它就如同高中數學所學集合的概念,集合的內容一般來說是具有某種特性的事物的整體,例如考試分數及格的群體、數字1到100內的所有奇數、球箱內所有球的顏色等。因此,在一個集合中,每個元素的地位都是相同且無序,並且只能出現一次,集合和集合之間,也可以進行交集、聯集、差集等
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News