kotlin flatten 与 flatMap

kotln中 flatten 和 flatMap 在 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']
相关推荐
FRing03几秒前
JavaScript入门到精通二十九(内置构造函数(Object、Array))
开发语言·前端·javascript
FlightYe1 分钟前
视界原理之3D视频(三):解码和显示
android·linux·3d·ffmpeg·音视频·android runtime
syagain_zsx3 分钟前
ODB 与 MySQL:C++ 里的 ORM 实践(类即表、事务铁律与查询封装)
开发语言·数据库·c++·mysql·工具库·1024程序员节
小嘉丶学长7 分钟前
Day08 · 字符串(二)
服务器·开发语言·python·学习·1024程序员节
ttyyttemo17 分钟前
Kotlin 协程中的热数据源与冷数据源
android
萌动的小火苗24 分钟前
MQTT的QoS0、QoS1、QoS2有什么区别?
开发语言·网络·python·php·信息与通信
买房动力十足24 分钟前
秒杀商城 + AI 运营:Lua 防超卖、MQ 削峰,AI 负责选品和策划
开发语言·人工智能·lua
silvamux_27 分钟前
10款模型写“君幸食”讲解词:统一事实档案与逐款审校
开发语言·php
北冥you鱼27 分钟前
Go 语言 Ticker 定时任务全解析:原理、陷阱与最佳实践
开发语言·数据库·golang
FlightYe36 分钟前
linux系统编程(十七):内存管理基础
android·linux·ffmpeg·音视频·android runtime