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']
相关推荐
monkey_lqd2 小时前
QT for Android环境搭建
android
歪歪1004 小时前
HTML 如何转 Markdown
开发语言·chrome·python·程序人生·html
小坏坏的大世界4 小时前
C++中多线程和互斥锁的基本使用
开发语言·c++
路由侠内网穿透4 小时前
本地部署 SQLite 数据库管理工具 SQLite Browser ( Web ) 并实现外部访问
运维·服务器·开发语言·前端·数据库·sqlite
王者鳜錸4 小时前
PYTHON从入门到实践-18Django模版渲染
开发语言·python·django
Hard but lovely5 小时前
C++ STL--> vector的模拟实现!
开发语言·c++
hweiyu005 小时前
IDEA搭建GO环境
开发语言·后端·golang·intellij-idea·idea·intellij idea
LoserChaser6 小时前
Android—服务+通知=>前台服务
android
归辞...6 小时前
「iOS」————单例与代理
开发语言·javascript·ios
Wgllss6 小时前
完整案例:Kotlin+Compose+Multiplatform之桌面端音乐播放器,数据库使用实现(三)
android·架构·android jetpack