數據源: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)