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]