Tailwind CSSTailwind CSS
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
  • 第三部分:函数式编程与并发

第三部分:函数式编程与并发

第 11 章:集合操作

11.1 列表(List)、集合(Set)、映射(Map)

Kotlin 提供了丰富的集合类型,主要包括 List、Set 和 Map。这些集合类型在 Kotlin 标准库中分为可变(Mutable)和不可变(Immutable)两种形式,开发者可以根据需求选择合适的集合类型。

1. 列表(List)

列表是一种有序的集合,允许重复元素。Kotlin 中的 List 是不可变的,而 MutableList 是可变的。

不可变列表示例:

val numbers: List<Int> = listOf(1, 2, 3, 4, 5)
println(numbers[0]) // 输出:1

可变列表示例:

val mutableNumbers: MutableList<Int> = mutableListOf(1, 2, 3)
mutableNumbers.add(4) // 添加元素
mutableNumbers.remove(2) // 移除元素
println(mutableNumbers) // 输出:[1, 3, 4]

2. 集合(Set)

集合是一种无序的集合,不允许重复元素。Kotlin 中的 Set 是不可变的,而 MutableSet 是可变的。

不可变集合示例:

val uniqueNumbers: Set<Int> = setOf(1, 2, 2, 3, 3)
println(uniqueNumbers) // 输出:[1, 2, 3](自动去重)

可变集合示例:

val mutableSet: MutableSet<String> = mutableSetOf("Apple", "Banana")
mutableSet.add("Orange")
mutableSet.remove("Apple")
println(mutableSet) // 输出:[Banana, Orange]

3. 映射(Map)

映射是一种键值对(Key-Value)集合,键是唯一的。Kotlin 中的 Map 是不可变的,而 MutableMap 是可变的。

不可变映射示例:

val userAges: Map<String, Int> = mapOf("Alice" to 25, "Bob" to 30)
println(userAges["Alice"]) // 输出:25

可变映射示例:

val mutableMap: MutableMap<String, Int> = mutableMapOf("Alice" to 25)
mutableMap["Bob"] = 30 // 添加键值对
mutableMap.remove("Alice") // 移除键值对
println(mutableMap) // 输出:{Bob=30}

集合的常用操作

Kotlin 为集合提供了丰富的操作函数,例如:

  • filter:过滤元素。
  • map:转换元素。
  • sorted:排序。
  • groupBy:分组。

示例:

val numbers = listOf(1, 2, 3, 4, 5)
val evenNumbers = numbers.filter { it % 2 == 0 }
println(evenNumbers) // 输出:[2, 4]

val squaredNumbers = numbers.map { it * it }
println(squaredNumbers) // 输出:[1, 4, 9, 16, 25]

总结

  • List:有序,允许重复。
  • Set:无序,不允许重复。
  • Map:键值对,键唯一。
  • 可变集合(MutableList、MutableSet、MutableMap)支持动态修改,而不可变集合(List、Set、Map)创建后不能更改。

通过合理选择集合类型,可以更高效地处理数据并编写出更简洁的代码。

Last Updated:: 5/21/25, 7:58 PM