天天看点

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

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

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

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

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

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

运算步骤:

(_+_.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

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