其他分享
首页 > 其他分享> > Kotlin之reduce、fold函数

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