Kotlin 集合操作

预计阅读时间1 分 114 views

一、集合操作简介

集合操作本质上是对集合内元素进行一系列的处理,最终得到我们想要的结果。这些操作可以大致分为以下几类:

  • 创建集合: Kotlin 提供多种方式创建 List、Set、Map 等不同类型的集合。
  • 遍历集合: 我们可以使用循环或迭代器遍历集合中的每个元素。
  • 转换集合: 使用 map 函数将集合元素进行转换,生成新的集合。
  • 过滤集合: 使用 filter 函数根据条件筛选出符合要求的元素,组成新的集合。
  • 聚合操作: 使用 reducefold 等函数对集合元素进行累计计算,得到单个结果。
  • 分组操作: 使用 groupBy 函数根据特定条件将集合元素分组。

二、常用集合操作函数

1. 创建集合

  • listOf(), setOf(), mapOf(): 创建不可变集合。
  • mutableListOf(), mutableSetOf(), mutableMapOf(): 创建可变集合。
val numbers = listOf(1, 2, 3, 4, 5)  // 创建不可变 List
val mutableNumbers = mutableListOf(1, 2, 3)  // 创建可变 List

val names = setOf("Alice", "Bob", "Charlie")  // 创建不可变 Set

val userMap = mapOf("Alice" to 20, "Bob" to 25)  // 创建不可变 Map

2. 遍历集合

  • for 循环: 遍历集合元素。
  • forEach 函数: 对每个元素执行指定操作。
for (number in numbers) {
    println(number)
}

numbers.forEach { println(it) }

3. 转换集合

  • map 函数: 将集合元素进行转换,返回一个新集合。
// 将每个数字翻倍
val doubledNumbers = numbers.map { it * 2 }  

4. 过滤集合

  • filter 函数: 根据条件筛选元素,返回一个新集合。
// 筛选出偶数
val evenNumbers = numbers.filter { it % 2 == 0 }  

5. 聚合操作

  • reduce 函数: 从第一个元素开始,将两个元素进行累计计算,最终得到单个结果。
  • fold 函数: 类似于 reduce,但可以指定初始值。
// 计算所有数字的和
val sum = numbers.reduce { acc, number -> acc + number }

// 计算所有数字的乘积,初始值为 1
val product = numbers.fold(1) { acc, number -> acc * number } 

6. 分组操作

  • groupBy 函数: 根据指定条件将集合元素分组。
// 将学生按年龄分组
data class Student(val name: String, val age: Int)
val students = listOf(Student("Alice", 20), Student("Bob", 20), Student("Charlie", 21))
val studentsByAge = students.groupBy { it.age } 
分享此文档

Kotlin 集合操作

或复制链接

本页目录