kotlin flatten 与 flatMap

kotln中 flattenflatMap 在 Kotlin 中虽然都用于扁平化处理集合,但它们的用法和效果并不完全一样

flatten

flatten 函数主要应用于嵌套集合(如 List of List 或 Set of Set 等),它会将嵌套集合中的所有元素合并到一个单一层次的集合中。

val nestedList = listOf(listOf("a", "b"), listOf("c", "d"))
val flattenedList = nestedList.flatten() // ["a", "b", "c", "d"]

flatMap

flatMap 不仅可以将嵌套集合扁平化,更重要的是它允许你对每个子集合应用一个映射函数来生成新的元素。这个映射函数的结果应当是一个集合,然后这些结果集会被合并成一个新的集合

val lists = listOf(listOf("hello"), listOf("world"))
val chars = lists.flatMap { it.map { it.toCharArray() } } // ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

相关推荐

  1. kotlin flatten flatMap

    2024-01-22 06:40:03       56 阅读
  2. map 和 flatMap 的区别

    2024-01-22 06:40:03       57 阅读
  3. Vue 使用 array.flatMap()例子

    2024-01-22 06:40:03       34 阅读
  4. Optional 中 map 和 flatMap 区别是啥?

    2024-01-22 06:40:03       23 阅读
  5. ==equals

    2024-01-22 06:40:03       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-22 06:40:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-22 06:40:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-22 06:40:03       87 阅读
  4. Python语言-面向对象

    2024-01-22 06:40:03       96 阅读

热门阅读

  1. Centos系统上安装PostgreSQL和常用PostgreSQL功能

    2024-01-22 06:40:03       56 阅读
  2. 【LeetCode-134】加油站(贪心)

    2024-01-22 06:40:03       56 阅读
  3. Django笔记(五):模型models

    2024-01-22 06:40:03       58 阅读
  4. Kubernetes(k8s)(一)

    2024-01-22 06:40:03       50 阅读
  5. Apache Wicket 9.10.0发布

    2024-01-22 06:40:03       63 阅读
  6. 网络安全产品之认识入侵防御系统

    2024-01-22 06:40:03       65 阅读
  7. ChatGPT与文心一言:谁更胜一筹?

    2024-01-22 06:40:03       53 阅读
  8. P8761 [蓝桥杯 2021 国 BC] 大写

    2024-01-22 06:40:03       40 阅读