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']
相关推荐
沐知全栈开发10 小时前
Perl 数据库连接
开发语言
森叶10 小时前
Java 比 Python 高性能的原因:重点在高并发方面
java·开发语言·python
qq_3168377510 小时前
uni.chooseMedia 读取base64 或 二进制
开发语言·前端·javascript
方圆工作室10 小时前
【C语言图形学】用*号绘制完美圆的三种算法详解与实现【AI】
c语言·开发语言·算法
小二·11 小时前
Python Web 开发进阶实战:混沌工程初探 —— 主动注入故障,构建高韧性系统
开发语言·前端·python
SHEN_ZIYUAN11 小时前
深度解析:从 AnimationHandler 原理看 Android 动画内存泄漏
android
Lkygo11 小时前
LlamaIndex使用指南
linux·开发语言·python·llama
进阶小白猿11 小时前
Java技术八股学习Day20
java·开发语言·学习
代码村新手11 小时前
C++-类和对象(中)
java·开发语言·c++
冬奇Lab11 小时前
稳定性性能系列之十六——车机特定场景:黑卡死问题分析与排查实战
android·性能优化