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']
相关推荐
wuqingshun31415913 小时前
java创建对象的方式
java·开发语言
二十雨辰13 小时前
[英语]-介词和动词
开发语言
程序员敲代码吗13 小时前
提升Python编程效率的五大特性
开发语言·python
Kurbaneli13 小时前
C语言过时了吗?2025年仍不可替代
c语言·开发语言
ShineWinsu13 小时前
对于C++中stack和queue的详细介绍
开发语言·数据结构·c++·面试·stl·queue·stack
fengsen521131413 小时前
MySQL--》如何在MySQL中打造高效优化索引
android·mysql·adb
List<String> error_P13 小时前
Python蓝桥杯常考知识点-模拟
开发语言·python·蓝桥杯
油墨香^_^13 小时前
Spring Cloud Feign 进阶详解:契约测试、负载均衡、文件上传与原生API
java·开发语言
比奇堡鱼贩13 小时前
python第五次作业
开发语言·前端·python
半兽先生14 小时前
使用 retire.js 自动检测前端 JavaScript 库漏洞
开发语言·前端·javascript