1.创建集合
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tKOmtkVq-1596380268243)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/96668d69-74ea-4a33-90c5-eff8db36317d/2020-07-295.50.22.png)]
2.集合操作
2.1 Filter系列
filter系列的操作分为以下两类
- filterXXX传入一个lambada并返回一个新的list
- filterXXXTo是将一个集合过滤后追加到另一个集合后面
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-quCSasr0-1596380268251)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/54ee465a-933f-456d-a77c-800e4ebdf080/2020-07-297.04.29.png)]
2.2 Slice系列
Slice系列仅有以下两个Api:
var y = mutableListOf(1,2,3,4,5,6,7)
var z = y.slice(listOf(1, 4)) //z = [2, 5]
var z = y.slice(IntRange(1, 4)) //z = [2, 3, 4, 5]
以列表为参数时,返回一个新的列表,列表的值为原始列表指定index下的值
以IntRange为参数时,返回一个新的列表,列表的值为IntRange指定的index闭区间的值
2.3 While系列
while系列表示从列表的一端开始遍历,直到有第一个是lambada返回true时停止,并返回符合条件的新列表,带Last的api表示倒序,否则表示正序。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PCa1UnRk-1596380268255)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/07f106c9-4d5a-4dca-accd-c1f71c97e7f5/2020-07-297.16.37.png)]
举例说明:
var ret1 = y.takeLastWhile {
i -> i < 3 }
var ret2 = y.dropWhile {
i -> i < 3 }
var ret3 = y.dropWhile {
i -> i > 3 }
输出如下:
[1]
[3, 4, 5, 6, 7, 1]
[1, 2, 3, 4, 5, 6, 7, 1]