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]
相关推荐
爱勇宝6 小时前
鸿蒙生态的下半场:开发者不只要能开发,还要能赚钱
android·前端·程序员
Yeyu9 小时前
刷新一帧的艺术:invalidate / postInvalidate / postInvalidateOnAnimation全解析
android
潘潘潘11 小时前
Android OTA 升级原理和流程介绍
android
plainGeekDev17 小时前
null 判断 → Kotlin 可空类型
android·java·kotlin
plainGeekDev17 小时前
getter/setter → Kotlin 属性
android·java·kotlin
Junerver17 小时前
我写了一个 Compose Multiplatform 组件库,你可能会用到
kotlin·android jetpack
YXL1111YXL18 小时前
Handler 消息回收与协程异步执行的时序陷阱
android
恋猫de小郭19 小时前
KMP / CMP 鸿蒙版本 Beta 发布,他有什么特别之处?
android·前端·flutter
三少爷的鞋20 小时前
Android 协程并发控制:别动线程池,控制好并发语义就够了
android
LDR0061 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言