scala入門5 集合API

2021-10-10 19:51:37 字數 1635 閱讀 5688

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種基本資料型別以及它的包裝類 整型 ...