koltin 集合学习

23 阅读2分钟
# Kotlin 集合用法

## 创建集合

```kotlin
// 创建一个空的 List
val list: List<Int> = mutableListOf()

// 创建一个包含初始元素的 List
val numbers = listOf(1, 2, 3, 4, 5)

// 创建一个空的 Set
val set: Set<String> = hashSetOf()

// 创建一个包含初始元素的 Set
val fruits = setOf("Apple", "Banana", "Cherry")

// 创建一个空的 Map
val map: Map<String, Int> = hashMapOf()

// 创建一个包含初始键值对的 Map
val ages = mapOf("Alice" to 25, "Bob" to 30)

向集合添加元素

val list = mutableListOf("Kotlin", "Java")
list.add("Scala") // List 支持添加元素

val set = hashSetOf("Kotlin", "Java")
set.add("Scala") // Set 不允许重复元素

访问集合元素

val numbers = listOf(1, 2, 3, 4, 5)
val firstNumber = numbers[0] // 获取第一个元素

val map = mapOf("Alice" to 25, "Bob" to 30)
val age = map["Alice"] // 通过键获取值

遍历集合

val list = listOf("Kotlin", "Java", "Scala")
for (item in list) {
    println(item)
}

val map = mapOf("Alice" to 25, "Bob" to 30)
for ((key, value) in map) {
    println("$key is $value years old")
}

集合操作

  • filter:过滤集合
  • map:转换集合中的每个元素
  • forEach:对集合中的每个元素执行操作
  • any:检查集合中是否有至少一个元素满足条件
  • all:检查集合中的所有元素是否满足条件
  • find:查找第一个满足条件的元素
  • count:返回满足条件的元素数量
val numbers = listOf(1, 2, 3, 4, 5)
val evenNumbers = numbers.filter { it % 2 == 0 } // 获取偶数

val doubled = numbers.map { it * 2 } // 每个元素乘以 2

numbers.forEach { println(it) } // 打印每个元素

val hasEven = numbers.any { it % 2 == 0 } // 检查是否有偶数

val allEven = numbers.all { it % 2 == 0 } // 检查是否所有都是偶数

val firstEven = numbers.find { it % 2 == 0 } // 查找第一个偶数

val evenCount = numbers.count { it % 2 == 0 } // 计算偶数数量

集合的不可变性和可变性

  • 不可变集合(如 listOf, setOf, mapOf)一旦创建就不能修改。
  • 可变集合(如 mutableListOf, hashSetOf, hashMapOf)可以添加、删除或更改元素。
val immutableList = listOf(1, 2, 3) // 不可变 List
// immutableList.add(4) // 错误:不可变集合不能添加元素

val mutableList = mutableListOf(1, 2, 3) // 可变 List
mutableList.add(4) // 正确:可变集合可以添加元素

👀关注公众号:Android老皮!!!欢迎大家来找我探讨交流👀