天天看點

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網上搜了搜沒有這方面的資料,, 自己聽老師講的也是一知半解,先把自己了解的記錄下來吧,不對的地方以後再修改