1. 程式人生 > >Scala學習 --------- Iterable常用方法

Scala學習 --------- Iterable常用方法

因為Iterable是所有集合的父類,所以其方法在所有集合中都適用

 

4.6.1 sum/max/min/count

sum/max/min

count統計偶數的個數

4.6.2 filter過濾

4.6.3 flatten 扁平化處理

扁平化處理:集合中的元素如果是多個集合,則將多個集合拆解成一個集合

案例:

4.6.4 diff/intersect/union集合之間的操作

差集、交集和並集

diff差集

intersect交集

union並集(不去重)

4.6.5 map

語義:對集合中每個元素操作,返回一個新的集合

4.6.6 flatMap

語義:flatMap等價map處理在flatten處理

4.6.7 zip拉鍊操作

4.6.8 forall對整個集合進行條件檢查

4.6.9 partition對集合進行分組

4.6.10 reduce/reduceLeft/reduceRight 聚合

a)reduce聚合函式的用法

注意:帶有兩個引數的函式,作為值傳入reduce方法中的語法要點:

      如:val sum=array.reduce((x

,y)=>{x+y})

      第一個引數x:代表後面函式體計算後的結果

      第二個引數y:代表集合中下一個元素

b)reduceLeft聚合函式的用法

注意:1、reduceLeft和reduce計算方法是一樣的

      2、演算法是外部左往右聚合內部左往右計算

c)reduceRight聚合函式的用法

注意:演算法是外部右往左聚合內部左往右計算

4.6.11 fold

/foldLeft/foldRight 聚合

方法fold與reduce工作方法很象,但是它讓你指定一個值,作為第一個元素

 

fold方法

foldLeft方法

foldRight方法

 

4.6.12 groupBy/grouped 分組函式

groupBy :返回一個新的Map集合,Mapkey是分組的標準value是對與標準相同的值進行歸併

grouped :根據給定的長度n,進行分組。每n個元素分為一組。

演示案例:wordcount統計