过滤操作符
drop
返回包含去掉前n个元素的所有元素的列表。
1. assertEquals(listOf(5, 6), list.drop(4))
dropWhile
返回根据给定函数从第一项开始去掉指定元素的列表。
1. assertEquals(listOf(3, 4, 5, 6), list.dropWhile { it < 3 })
dropLastWhile
返回根据给定函数从最后一项开始去掉指定元素的列表。
1. assertEquals(listOf(1, 2, 3, 4), list.dropLastWhile { it > 4 })
filter
过滤所有符合给定函数条件的元素。
1. assertEquals(listOf(2, 4, 6), list.filter { it % 2 == 0 })
filterNot
过滤所有不符合给定函数条件的元素。
1. assertEquals(listOf(1, 3, 5), list.filterNot { it % 2 == 0 })
filterNotNull
过滤所有元素中不是null的元素。
1. assertEquals(listOf(1, 2, 3, 4), listWithNull.filterNotNull())
slice
过滤一个list中指定index的元素。
1. assertEquals(listOf(2, 4, 5), list.slice(listOf(1, 3, 4)))
take
返回从第一个开始的n个元素。
1. assertEquals(listOf(1, 2), list.take(2))
takeLast
返回从最后一个开始的n个元素
1. assertEquals(listOf(5, 6), list.takeLast(2))
takeWhile
返回从第一个开始符合给定函数条件的元素。
1. assertEquals(listOf(1, 2), list.takeWhile { it < 3 })
