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']
相关推荐
iReachers16 分钟前
为什么HTML打包安卓APP安装时会覆盖或者报错?
android·java·html·html打包apk·网页打包
纟 冬16 分钟前
Flutter & OpenHarmony 运动App运动模式选择组件开发
android·java·flutter
Wang's Blog20 分钟前
Lua: 基于协程的生产者-消费者模型实现
开发语言·lua
jamesge201031 分钟前
限流之漏桶算法
java·开发语言·算法
冷雨夜中漫步33 分钟前
OpenAPITools使用——FAQ
android·java·缓存
Dargon28834 分钟前
Simulink的SIL软件在环测试
开发语言·matlab·simulink·mbd软件开发
csbysj202044 分钟前
SVG 椭圆详解
开发语言
oioihoii1 小时前
C++数据竞争与无锁编程
java·开发语言·c++
资生算法程序员_畅想家_剑魔1 小时前
Java常见技术分享-16-多线程安全-并发编程的核心问题
java·开发语言
We....1 小时前
Java SPI 机制
java·开发语言