Kotlin 教學【從零開始學 Kotlin 程式設計】 List、Map、Set 集合資料型態

【從零開始學 Kotlin 程式設計】線上教學課程目錄

List、Map、Set 集合

Java 集合有 List、Map、Set。Kotlin 也有 List、Map、Set,但 Kotlin 中的 List、Map、Set 只能讀取,是無法進行修改,若需要可讀可寫,需使用 MutableList、MutableMap、MutableSet。

集合的方法:

  • add 新增元素
  • remove 移除元素
  • size 集合內元素的數量
  • clear 清除所有集合內的元素

List

List 集合特性:按照順序排列,可以放重覆的物件

Koltin 程式碼

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

//宣告一個 List 集合,並初始化資料,kotlin 會根據資料,自動推斷,資料型別
 var lists = listOf(666,777,888)
 
 //取出索引值為1的資料
 println(lists[1])

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

//宣告一個 MutableList 資料型態為整數的集合變數
var mutableList: MutableList<Int>  = mutableListOf()

//新增資料
mutableList.add(666)
mutableList.add(777)
mutableList.add(888)
println(mutableList)

//獲取索引第二筆資料
mutableList[2]
println(mutableList[2])

//移除資料為 666 的資料(需要注意的是這裏跟 Java 不同,此處移除不是根據索引筆數)
mutableList.remove(666)
println(mutableList)

//根據索引筆數刪除方式
mutableList.remove(mutableList[1])
println(mutableList)

//刪除全部 mutableList 內的資料
mutableList.clear()
println(mutableList)

Map

Map 集合特性: 採 key、value 方式存放,key 唯一不能重覆。

Koltin 程式碼

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

val map = mapOf("1" to 666, "2" to 777)
println(map)

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

var mutableMap: MutableMap<String, Int> = mutableMapOf()
//新增資料
mutableMap.put("1", 666)
mutableMap.put("2", 777)
mutableMap.put("3", 888)
println(mutableMap)

//移除資料
mutableMap.remove("1")
println(mutableMap)

//獲取資料
mutableMap.get("2")
println(mutableMap.get("2"))

//刪除所有資料
mutableMap.clear()
println(mutableMap)

Set

Set 集合特性:沒有特定順序,且沒有重覆的物件

Koltin 程式碼

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

var set = setOf(666,777,888)
println(set)

在 Kotlin 中,使用 MutableSet 集合操作新增、移除、讀取、全部刪除資料:

var mutableSet: MutableSet<Int> = mutableSetOf()

//新增資料
mutableSet.add(666)
mutableSet.add(777)
mutableSet.add(888)
println(mutableSet)

//移除資料
mutableSet.remove(666)
println(mutableSet)

//判斷元素,是否包含在 Set 集合內
println(mutableSet.contains(666))

//清除所有資料
mutableSet.clear()
println(mutableSet)

那這次的課程就介紹到這邊囉~

順帶一提,KT 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,加追蹤喔!也歡迎大家將這套課程分享給更多人喔。

我們下次再見囉!!!掰掰~

這個網誌中的熱門文章

16天記下7000單字

2022 最新入門零基礎 Flutter教學 【Flutter 程式設計入門實戰 30 天】Flutter 教學課程目錄 (IntelliJ IDEA 開發教學)

2023 最新入門零基礎 Kotlin教學【從零開始學 Kotlin 程式設計】Kotlin 教學課程目錄 (Android Kotlin, IntelliJ IDEA, Android Studio, Android APP 開發教學)

nano 文字編輯器

最新入門零基礎 Java 教學【從零開始學 Java 程式設計】Java教學課程目錄 (IntelliJ IDEA 開發教學)