從 Java 跳糟到 Kotlin (四) 集合

Java & Kotlin 比較
從零開始學 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 集合特性:按照順序排列,可以放重覆的物件

Java 程式碼

在 Java 中,使用 List 集合操作新增、移除、讀取、全部刪除資料:
//宣告一個 List 資料型態為整數的集合變數
List<Integer> lists = new ArrayList<>();

//新增資料
lists.add(666);
lists.add(777);
lists.add(888);
System.out.println(lists);

//移除索引值為1的資料
lists.remove(1);
System.out.println(lists);

//獲取第二筆資料
lists.get(0);//可以試著用 println 將資料印出來看看
System.out.println(lists.get(0));

//刪除全部 List 內的資料
lists.clear();
System.out.println(lists);

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 唯一不能重覆。

Java 程式碼

在 Java 中,使用 Map 集合操作新增、移除、讀取、全部刪除資料:
Map<String, Integer> map = new HashMap<>();
//新增資料
map.put("1", 666);
map.put("2", 777);
map.put("3", 888);
System.out.println(map);

//移除資料
map.remove("1");
System.out.println(map);

//獲取資料
map.get("2");
System.out.println(map);

//清除所有資料
map.clear();
System.out.println(map);

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 集合特性:沒有特定順序,且沒有重覆的物件

Java 程式碼

在 Java 中,使用 Set 集合操作新增、移除、讀取、全部刪除資料:
Set<Integer> set = new HashSet<>();
//新增資料
set.add(666);
set.add(777);
set.add(888);
System.out.println("set: " + set);

//移除資料
set.remove(888);
System.out.println("set: " + set);

//判斷元素,是否包含在 Set 集合內
set.contains(666);
System.out.println("set: " + set.contains(666));

//清除所有資料
set.clear();
System.out.println("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單字

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

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

nano 文字編輯器

【從零開始學 Flutter 程式設計】SharedPreferences 設定檔資料存取