Kotlin 中 Map 和 List 常用功能總結
List 常用功能
創建 List
val immutableList = listOf(1, 2, 3) // 不可變列表
val mutableList = mutableListOf("a", "b", "c") // 可變列表
val emptyList = emptyList<String>() // 空列表
基本操作
val size = list.size // 獲取大小
val isEmpty = list.isEmpty() // 是否為空
val contains = list.contains("a") // 是否包含元素
val index = list.indexOf("b") // 元素索引
val element = list[1] // 獲取元素
遍歷 List
list.forEach { println(it) } // 遍歷元素
list.forEachIndexed { index, element -> println("$index: $element") } // 帶索引遍歷
過濾和轉換
val filtered = list.filter { it > 2 } // 過濾
val mapped = list.map { it * 2 } // 轉換
val flatMapped = list.flatMap { listOf(it, it + 1) } // 扁平化轉換
排序
val sorted = list.sorted() // 自然排序
val sortedDesc = list.sortedDescending() // 降序排序
val customSorted = list.sortedBy { it.length } // 自定義排序
查找
val first = list.first() // 第一個元素
val last = list.last() // 最后一個元素
val firstMatch = list.first { it > 2 } // 第一個匹配條件的元素
val anyMatch = list.any { it > 2 } // 是否有元素匹配條件
val allMatch = list.all { it > 2 } // 是否所有元素都匹配條件
可變 List 操作
mutableList.add("d") // 添加元素
mutableList.add(1, "x") // 在指定位置插入
mutableList.remove("a") // 移除元素
mutableList.removeAt(0) // 移除指定位置元素
mutableList[0] = "A" // 修改元素
mutableList.clear() // 清空列表
Map 常用功能
創建 Map
val immutableMap = mapOf("a" to 1, "b" to 2) // 不可變Map
val mutableMap = mutableMapOf("x" to 10, "y" to 20) // 可變Map
val emptyMap = emptyMap<String, Int>() // 空Map
基本操作
val size = map.size // 獲取大小
val isEmpty = map.isEmpty() // 是否為空
val containsKey = map.containsKey("a") // 是否包含鍵
val containsValue = map.containsValue(1) // 是否包含值
val value = map["a"] // 獲取值
val keys = map.keys // 所有鍵
val values = map.values // 所有值
val entries = map.entries // 所有鍵值對
遍歷 Map
map.forEach { (key, value) -> println("$key -> $value") } // 遍歷鍵值對
map.keys.forEach { println(it) } // 遍歷鍵
map.values.forEach { println(it) } // 遍歷值
過濾和轉換
val filtered = map.filter { (key, value) -> value > 10 } // 過濾
val mapped = map.map { (key, value) -> "$key:${value * 2}" } // 轉換
val mapKeys = map.mapKeys { it.key.uppercase() } // 轉換鍵
val mapValues = map.mapValues { it.value * 2 } // 轉換值
查找
val value = map.getOrDefault("c", 0) // 獲取值或默認值
val valueOrNull = map["c"] // 獲取值或null
val firstEntry = map.entries.first() // 第一個鍵值對
可變 Map 操作
mutableMap["c"] = 30 // 添加/修改值
mutableMap.put("d", 40) // 添加鍵值對
mutableMap.remove("a") // 移除鍵值對
mutableMap.putAll(mapOf("e" to 50, "f" to 60)) // 添加多個鍵值對
mutableMap.clear() // 清空Map
特殊操作
val mergedMap = map1 + map2 // 合并兩個Map
val minusMap = map - "a" // 移除指定鍵
val defaultMap = map.withDefault { 0 } // 帶默認值的Map
val groupBy = list.groupBy { it.first() } // 按條件分組
val associateBy = list.associateBy { it.id } // 列表轉Map
實用擴展函數
List 實用擴展
list.take(2) // 取前n個元素
list.drop(2) // 丟棄前n個元素
list.chunked(3) // 分塊
list.windowed(3) // 滑動窗口
list.zip(otherList) // 合并兩個列表
list.partition { it > 2 } // 分區
Map 實用擴展
map.filterKeys { it.startsWith("a") } // 過濾鍵
map.filterValues { it > 10 } // 過濾值
map.toSortedMap() // 排序的Map
map.minByOrNull { it.value } // 找最小值
map.maxByOrNull { it.value } // 找最大值
這些功能覆蓋了 Kotlin 中 List 和 Map 的大部分常見操作,能夠滿足日常開發中的各種需求。