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']
相关推荐
xwjalyf几秒前
javascript数组 forEach,filter,some,every,map,find,reduce的用法与区别
开发语言·javascript·json·ecmascript
qq_2518364572 分钟前
基于java Web 耗材购置与维修网络申报审批系统设计与实现
java·开发语言·前端
AI玫瑰助手6 分钟前
Python函数:def定义函数与参数传递基础
android·开发语言·python
剑傲娇10 分钟前
【计算机组成原理】 C与汇编的「对话」
服务器·开发语言·缓存
生活爱好者!11 分钟前
用NAS进行漫画创作!一键部署Open WebUI
java·服务器·开发语言·安全·docker
Maddie_Mo14 分钟前
Pi Agent Web 使用教程:把本地 Pi Coding Agent 搬进浏览器
android·java·前端·人工智能·ai
charlie11451419114 分钟前
现代C++特性指南(5)——RAII 深入理解:资源管理的基石
开发语言·c++·现代c++
码不停蹄的玄黓32 分钟前
MySQL索引设计核心注意事项
android·数据库·mysql
ch_ziyuan41 分钟前
安卓APP报毒自动化解决方案处理系统:动态包名+证书随机+360加固集成(后台源码)
android·运维·自动化