📜  kotlin 集合 - Kotlin (1)

📅  最后修改于: 2023-12-03 15:17:10.213000             🧑  作者: Mango

Kotlin 集合

Kotlin 的集合与 Java 的集合非常相似,但 Kotlin 提供了更多的功能和更好的语法糖。Kotlin 的集合主要包括:

  • List(列表):元素有序,可以重复
  • Set(集合):元素无序,不可重复
  • Map(映射):键值对,键不可重复
创建集合

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 文档。