📅  最后修改于: 2023-12-03 15:17:10.213000             🧑  作者: Mango
Kotlin 的集合与 Java 的集合非常相似,但 Kotlin 提供了更多的功能和更好的语法糖。Kotlin 的集合主要包括:
Kotlin 中创建集合非常简单:
// 创建一个列表
val list = listOf("Apple", "Banana", "Orange")
// 创建一个可变列表
val mutableList = mutableListOf("Apple", "Banana", "Orange")
// 创建一个集合
val set = setOf("Apple", "Banana", "Orange")
// 创建一个可变集合
val mutableSet = mutableSetOf("Apple", "Banana", "Orange")
// 创建一个映射
val map = mapOf("a" to 1, "b" to 2, "c" to 3)
// 创建一个可变映射
val mutableMap = mutableMapOf("a" to 1, "b" to 2, "c" to 3)
Kotlin 中访问集合元素也非常简单:
// 访问列表
println(list[0]) // 输出 "Apple"
// 访问集合
for (element in set) {
println(element)
}
// 访问映射
println(map["a"]) // 输出 "1"
如果你需要访问集合中的索引,Kotlin 也提供了对应的方法:
// 列表
list.indexOf("Banana") // 返回 1
// 可变列表
mutableList.add("Pineapple")
mutableList.indexOf("Pineapple") // 返回 3
// 不可变集合
set.indexOf("Banana") // 返回 -1
// 可变集合
mutableSet.add("Pineapple")
mutableSet.indexOf("Pineapple") // 返回 3
// 映射
map.keys // 返回 ["a", "b", "c"]
map.values // 返回 [1, 2, 3]
map.entries // 返回 [(a=1), (b=2), (c=3)]
Kotlin 中可以通过以下方式修改集合:
// 可变列表
mutableList.add("Pineapple")
mutableList.remove("Banana")
mutableList[0] = "Strawberry"
// 可变集合
mutableSet.add("Pineapple")
mutableSet.remove("Banana")
// 可变映射
mutableMap["d"] = 4
mutableMap.remove("a")
Kotlin 中可以使用 for
循环迭代集合:
for (element in list) {
println(element)
}
for (element in set) {
println(element)
}
for ((key, value) in map) {
println("$key=$value")
}
Kotlin 也提供了更加灵活的函数式编程方式迭代集合:
list.forEach { element ->
println(element)
}
set.filter { element ->
element.startsWith("A")
}.forEach { element ->
println(element)
}
map.mapValues { entry ->
entry.value * 2
}.forEach { (key, value) ->
println("$key=$value")
}
本篇介绍了 Kotlin 集合的基本使用,还有其他更多的扩展函数、运算符重载等功能,可以参考 Kotlin 文档。