kotlin map 与 flatmap

kotlin map 与 flatmap 是2个不同的概念的

map 是一种数据结构,flatmap 是一个高阶函数,处理集合用的

Map

Map 是一种数据结构,它由一系列的键值对组成,每个键都是唯一的,并且与一个特定的值相关联。你可以通过键来查找对应的值

下面定义一个map 并往里面填写值

复制代码
val myMap = HashMap<String, String>()
        myMap.put("张三","15")
        myMap.put("李四","16")
        // kotlin 写法
        myMap["王二"] = "17"

或者使用mapOf

复制代码
val myMap: Map<String, Int> = mapOf("one" to 1, "two" to 2)

跟java的差不多的,

flatmap

flatMap 是一个函数,通常用于集合(如 List、Set 等)操作。它将一个集合中的每个元素转换为其映射结果的集合,然后将所有的映射结果合并成一个新的集合

复制代码
 val lists = listOf(listOf("hello", "world"), listOf("kotlin", "rocks"))
 val words = lists.flatMap { it }
 Log.d("=======words", words.toString()) // 打印结果["hello", "world", "kotlin", "rocks"]

 val list = listOf("123", "45")
 Log.d("========list",list.flatMap { it.toList() }.toString()) //打印结果[1, 2, 3, 4, 5]
相关推荐
H.莓飛4 小时前
【数据结构】排序_OJ题(一):计数、桶与排序后的处理
java·开发语言·数据结构
wangchunyu1145 小时前
JAVA AQS与Lock实现原理(含CAS)
java·开发语言·word
爱喝水的鱼丶6 小时前
SAP-ABAP:ECC→S/4HANA ABAP 迁移升级指南——程序改造、语法兼容与性能优化 导语
运维·开发语言·性能优化·sap·abap·经验交流·开发交流
小灰灰搞电子6 小时前
Rust+Slint 实现FTP客户端调试助手源码分享
开发语言·后端·rust
外收内放6 小时前
面向对象高级(实战案例)
开发语言·python·学习
fanruitian7 小时前
python else用法
开发语言·python
FRing038 小时前
JavaScript入门到精通二十六(变量提升、函数剩余参数、展开运算符、ES6箭头函数)
开发语言·前端·javascript·es6·箭头函数
云深麋鹿8 小时前
C++ | 基于红黑树实现mymap与myset
开发语言·c++
weixin_417396838 小时前
桌面云终端PXE启动失败怎么排查?从DHCP Option到镜像下发
开发语言·前端·php·技术·酒店·综合布线·弱电
xiaoshiquan12069 小时前
Gradle 复合构建:宿主项目直接依赖 SDK 源码模块的配置实践
android