Kotlin之reduce、fold函数
作者:互联网
高阶函数
reduce:将所提供的操作应用于集合元素并返回积累的结果
fold和reduce是一样的。
主要的区别是:
fold接受一个初始值并将其用作第一步的积累值,而reduce的第一步则将第一个和第二个元素作为第一步的操作参数。
示例:
val numberList = listOf(1, 2, 3, 4) var ss = numberList.reduce { acc, i -> acc + i } println(ss)
//最后打印的值是:10
如果要计算一个对象里面的Int值,如果一个账单的account
账单的实体类
data class PaymentOrderEntity(var orderId: String, var account: Int)
var paymentList = mutableListOf<PaymentOrderEntity>() paymentList.add(PaymentOrderEntity("13543141241", 4)) paymentList.add(PaymentOrderEntity("32141341344", 5)) var ss = paymentList.map(PaymentOrderEntity::account).reduce { acc, i -> acc + i } println(ss)
//最后输出的值是:9
示例:
val numberList = listOf(1, 2, 3, 4) var ss = numberList.fold(1) { acc, i -> acc + i } println(ss)
//最后打印的值是:11
标签:acc,paymentList,ss,Kotlin,reduce,fold,var 来源: https://www.cnblogs.com/uudon/p/15830110.html