Kotlin : 集合資料型態,List、Map、Set 集合

從零開始學 Kotlin 程式設計: 線上教學課程目錄
Android Kotlin 1.3 教學 , 開發 , 範例 , 入門 , 基礎 , 新手 , 程式設計 , Android 電子書 , Kotlin 教學 , Kotlin 電子書 , Android PDF , Android ebook , 免費下載 , Free Download

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)

留言

這個網誌中的熱門文章

16天記下7000單字