一、内部的迭代函数

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

 

二、延迟计算

原文地址:http://www.cnblogs.com/czwlinux/p/16886362.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性