一、内部的迭代函数
filter(e -> 返回true和false) 判断数值是否加入新的数组
map(e -> 返回调整e之后的值) 对数组中每个数进行调整,并存入新的数组
reduce(total, e -> 返回新的total) total是统计结果,e是当前遍历到参数;返回新的total作为数组下一个参数total
joinToString(", ") 将数组的每个值通过逗号连接起来
sum() 将数组的每个值相加
first() 返回数组的第一个值
last() 返回数组的最后一个值
flatten() 可以将二维的list转化为1维,如果三维转换为1维则需要两次调用该函数
flatMap{e -> listOf()} 是map和flatten的组合
sortedBy{e -> xxx} 对指定的参数进行从小到大排序
sortedByDescending{e -> xxx} 从大到小排序
val numbers = listOf(10, 12, 15, 17, 18, 19) numbers.filter{e -> e % 2 == 0} .forEach{e -> print("$e, ")}
如上过滤出numbers中的偶数,然后通过forEach遍历所有的元素
val doubledEven = numbers.filter{it % 2 == 0}.map{it * 2} // 过滤出偶数,并且每个偶数乘以2
2、none/any/all
none: 没有一个元素符合条件 则会返回true
any: 至少有一个元素符合条件 则会返回true
all: 所有元素都符合条件 则会返回true
val numbers = listOf(10, 12, 15, 17, 18, 19, 21) println(numbers.none()) // false 因为numbers中有元素,所以返回false println(numbers.any()) // true 因为numbers中至少有一个元素,所以返回true println(numbers.none{it % 7 == 0}) // false 21能够被7整除,所以返回false println(numbers.any{it % 7 == 0}) // true 21能够被7整除,所以返回true println(numbers.all{it % 2 == 0}) // false numbers列表中有奇数,所以返回false println(listOf(2,4,6).all{it % 2 == 0}) // true 列表中的所有数值都能够被2整除,所有返回true
二、延迟计算
标签:返回,false,迭代,kotlin,numbers,数组,println,true,延迟 From: https://www.cnblogs.com/czwlinux/p/16886362.html