数据源:val list = listOf(1, 2, 3, 4, 5, 6)
flatMap:遍历所有的元素,为每一个创建一个集合,最后把所有的集合放在一个集合中。
操作:list.flatMap{listOf(it,it+1)}
结果:listOf(1,2,2,3,3,4,4,5,5,6,6,7)
groupBy:返回一个根据给定函数分组后的map。
操作:list.groupBy{ if(it%2==0) "even" else "odd"}
结果:mapOf("odd" to listOf(1,3,5), "even" to listOf(2,4,6))
map:返回一个每一个元素根据给定的函数转换所组成的List。
操作:list.map{it*2}
结果:listOf(2,4,6,8,10,12)
mapIndexed:返回一个每一个元素根据给定的包含元素index的函数转换所组成的List。
操作:list.mapIndexed{index,it -> index*it}
结果:listOf(0,2,6,12,20,30)
mapNotNull:返回一个每一个非null元素根据给定的函数转换所组成的List。
val list1 = listOf(1, 2, 3, 4, 5, null)
操作:list1.mapNotNull{it*2}
结果:listOf(2,4,5,8,10)