def main(args: array[
string])
:unit
=
def main(args: array[
string])
:unit
=
def main(args: array[
string])
:unit
=
def main(args: array[
string])
:unit
= curr=$"
) agg * curr
})//reduce的執行過程:
// agg上一次的聚合結果 curr:本次要聚合元素
// 第一次執行的時候,agg的值就是集合第乙個元素[10], curr集合第二個元素[2] (agg,curr)=> agg * curr = 20
// 第二次執行的時候,agg上一次的聚合結果[20], curr集合第三個元素[4] (agg,curr)=> agg * curr = 80
// ......
println(result)
//reduceright(func: (集合元素型別,集合元素型別) => 集合元素型別 )
// reduceright最終結果是單個資料,資料的型別就是原有集合的元素型別
println(
"-"*
100)
val result2 = list17.reduceright(
(curr, agg)
=>
curr=$"
) agg - curr
})//reduceright的執行過程:
// agg上一次的聚合結果 curr:本次要聚合元素
// 第一次執行的時候,agg的值就是集合第最後乙個元素[9], curr集合倒數第二個元素[7] (agg,curr)=> agg - curr = 2
// 第二次執行的時候,agg上一次的聚合結果[2], curr集合倒數第三個元素[5] (agg,curr)=> agg * curr = -1
// ......
println(result2)
println(
"-"*
100)
//fold(agg第一次執行的初始值)(func: (集合元素型別,集合元素型別)=>集合元素型別)
//fold與reduce唯一的不同就是多了agg的初始值
list17.fold(
100)
((agg, curr)
=>
curr=$"
) agg - curr
})println(
"-"*
100)
//foldright(agg第一次執行的初始值)(func: (集合元素型別,集合元素型別)=>集合元素型別)
list17.foldright(
200)
((curr, agg)
=>
curr=$"
) agg - curr
})}
scala基礎4 集合
map set list 集合 可變集合可以在適當的地方被更新或擴充套件,意味著你可以修改 新增 移除乙個集合的元素。而不可變集合類,相比之下,永遠不會改變。不過,你仍然可以模擬新增,移除或更新操作。但是這些操作都將返回乙個新的集合,同時原來的集合不發生改變。不可變的都在immutable裡,可變的...
Scala學習(4) 集合之Array
不可變陣列 array 將指定的值建立為陣列 val arr array int array 1,2,3,4,5,6,7 獲取陣列中的元素,使用下標獲取 println s first element 獲取陣列長度 println s length size 對陣列中指定下標的元素進行修改 arr ...
5 集合ArrayList 總結
1.物件陣列和集合類簡介 陣列特點 陣列儲存的是同一資料型別的資料,並且其長度是固定的組合 arraylist集合特點 優點 遍歷快,缺點 插入和刪除慢 a.只能儲存引用資料型別,不能儲存基本資料型別 要想儲存基本數資料型別,就要使用基本資料型別的包裝類 3類 8種基本資料型別以及它的包裝類 整型 ...