val list= listOf(1,2,3,4,5)
val list2=list.map { listOf(it+1) }
list2.map { println("my value is ${it}") }
println(list2)
println("----------------------------")
val list3 = list.flatMap { listOf(it+1) }
list3.map { println("my value is ${it}") }
println(list3)
打印结果
my value is [2]
my value is [3]
my value is [4]
my value is [5]
my value is [6]
[[2], [3], [4], [5], [6]]
----------------------------
my value is 2
my value is 3
my value is 4
my value is 5
my value is 6
[2, 3, 4, 5, 6]
flatMap 遍历所有的元素 ,为每一个创建一个集合 ,最后把所有的集合放在一个集合中。
map 返回一个每一个元素根据给定的函数转换所组成的List
flatMap的返回值必须是Iterable,map 则没有这个要求
下面使用map跟flatMap达到同样的效果
val list= listOf(1,2,3,4,5)
val list2=list.map { it+1 }
list2.map { println("my value is ${it}") }
println(list2)
println("----------------------------")
val list3 = list.flatMap { listOf(it+1) }
list3.map { println("my value is ${it}") }
println(list3)
版权声明:本文为new_abc原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。