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']
相关推荐
xyq2024几秒前
Python File 方法详解
开发语言
-Rane3 分钟前
【C++】红黑树
java·开发语言
Grackers4 分钟前
Android Perfetto 系列 8:深入理解 Vsync 机制与性能分析
android
leaves falling6 分钟前
深入浅出 C++ STL list:从入门到精通
开发语言·c++
饕餮争锋6 分钟前
Bash 简介
开发语言·bash
爱吃烤鸡翅的酸菜鱼24 分钟前
【Java】封装位运算通用工具类——用一个整数字段替代几十个布尔列,极致节省存储空间
java·开发语言·设计模式·工具类·位运算·合成复用原则
xinhuanjieyi27 分钟前
php给30支NBA球队添加logo图标,做好对应关系
android·开发语言·php
菜菜小狗的学习笔记31 分钟前
八股(三)Java并发
java·开发语言
jian110581 小时前
Android studio会自动下载高版本的tools
android·ide·android studio
Trouvaille ~1 小时前
【MySQL篇】内外连接:多表关联的完整指南
android·数据库·mysql·面试·后端开发·dql·内外连接