目录
关于集合的操作符,直接引用书上的内容,基本上总结的很好了。
集合示例:
val list = listOf(1, 2, 3, 4, 5, 6)flatMap
遍历所有的元素,为每一个创建一个集合,最后把所有的集合放在一个集合中。
assertEquals(listOf( 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7), list .flatMap { listOf(it, it + 1) })
groupBy
返回一个根据给定函数分组后的map。
assertEquals(mapOf("odd" to listOf(1, 3, 5), "even" to listOf(2, 4, 6)), list.groupBy { if (it % 2 == 0) "even" else "odd" })
map
返回一个每一个元素根据给定的函数转换所组成的List。
assertEquals(listOf(2, 4, 6, 8, 10, 12), list.map { it * 2 })
mapIndexed
返回一个每一个元素根据给定的包含元素index的函数转换所组成的List。
assertEquals(listOf (0, 2, 6, 12, 20, 30), list.mapIndexed { index, it -> index * it })
mapNotNull
返回一个每一个非null元素根据给定的函数转换所组成的List。
assertEquals(listOf(2, 4, 6, 8), listWithNull.mapNotNull { it * 2 })

版权声明:本文为chzphoenix原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。