Kotlin入門教學:陣列與列表
發布日期:2023/12/15
瀏覽次數:557
在Kotlin中,陣列(Array)、不可變列表(List)和可變列表(MutableList)是常見的資料結構,用來存儲一系列的元素。這一篇將深入介紹這三種結構的使用方式、優缺點以及注意事項。
Array – 陣列
基本用法
Kotlin中的陣列是固定大小的,宣告後無法再改變其大小。
val numbers = arrayOf(1, 2, 3, 4, 5)
存取元素
val firstNumber = numbers[0]
println("第一個數字是 $firstNumber")
修改元素
numbers[1] = 10
println("修改後的陣列: ${numbers.joinToString()}")
範例:計算總和
val sum = numbers.sum()
println("陣列的總和是 $sum")
優點:
- 直觀,適用於固定大小的情況。
缺點:
- 大小固定,無法動態增減元素。
- 操作過程中可能需要創建新的陣列,影響效能。
List – 不可變列表
基本用法
Kotlin的 List
是一個不可變(immutable)的列表,一旦初始化大小和元素,就不能再改變。
val fruits = listOf("蘋果", "香蕉", "橘子")
存取元素
val firstFruit = fruits[0]
println("第一個水果是 $firstFruit")
範例:檢查元素是否存在
val hasBanana = "香蕉" in fruits
if (hasBanana) {
println("有香蕉")
} else {
println("沒有香蕉")
}
優點:
- 不可變性保證了安全性,避免了不必要的改變。
- 適用於靜態資料集合。
缺點:
- 大小固定,無法動態增減元素。
- 若要修改元素,需要創建新的列表。
MutableList – 可變列表
基本用法
MutableList
是一個可變(mutable)的列表,可以動態增減元素。
val mutableFruits = mutableListOf("蘋果", "香蕉", "橘子")
新增元素
mutableFruits.add("葡萄")
println("新增後的水果列表: $mutableFruits")
移除元素
mutableFruits.remove("香蕉")
println("移除後的水果列表: $mutableFruits")
優點:
- 具有動態性,可以動態增減元素。
- 適用於需要頻繁修改的情況。
缺點:
- 可能引入意外的修改,需要謹慎使用。
注意事項
- List是唯讀的: 在Kotlin中,
List
是唯獨的,不僅不能修改大小,也不能修改值。而MutableLis
則允許新增、刪除元素,以及修改元素的值。 - Nullable元素: Kotlin的List和MutableList可以包含可為空(nullable)的元素。
val nullableList: List<String?> = listOf("apple", "banana", null)
- 集合操作: Kotlin提供了豐富的集合操作,例如
filter
、map
等,這些操作可以簡化對列表的處理,在下一篇文章中會更詳細的介紹常用方法。
val numbers = listOf(1, 2, 3, 4, 5)
val squaredNumbers = numbers.map { it * it }
println("原始數字: $numbers")
println("平方數字: $squaredNumbers")
總結
- 使用
Array
當你知道陣列大小且不會改變時。 - 使用
List
當你需要一個不可變的集合。 - 使用
MutableList
當你需要動態修改集合的元素。
Kotlin提供了這些集合類型,以滿足不同的需求。根據特定的情境和操作需求選擇合適的集合類型,以確保程式碼的效能和可讀性。
Like