scala之聚合函数aggregate

本文详细解析了Scala中List的aggregate函数用法,通过具体示例展示了如何利用该函数进行列表求和操作,并对比了不同写法的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网上搜了搜没有这方面的资料,, 自己听老师讲的也是一知半解,先把自己理解的记录下来吧,不对的地方以后再修改

val arr = List(List(1, 2, 3), List(3, 4, 5), List(2), List(0))
  

arr.aggregate(0)(_+_.reduce(_+_),_+_)



运算步骤:


(_+_.reduce(_+_)) 先计算 list1 1+2+3  6 

(_+_.reduce(_+_)) 再计算list2   3+4+5 12

(_+_.reduce(_+_)) list3计算 2

(_+_.reduce(_+_)) list4计算 0

以上局部变量就计算完了 

 当list1计算出来的时候就放到  _+_   初始值为0 + 6    

 然后当list2计算出来的时候    _+_   值 为  6+12

后面依次相加  ....


下面这两种写法都可以

arr.aggregate(10)(_+_.sum,_+_)

arr.par.aggregate(10)(_+_.sum,_+_) 

.par




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值