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
第一個引數x:代表後面函式體計算後的結果,
第二個引數y:代表集合中下一個元素
b)、reduceLeft聚合函式的用法
注意:1、reduceLeft和reduce計算方法是一樣的
2、演算法是外部左往右聚合,內部左往右計算
c)、reduceRight聚合函式的用法
注意:演算法是外部右往左聚合,內部左往右計算
4.6.11 fold
方法fold與reduce工作方法很象,但是它讓你指定一個值,作為第一個元素
fold方法
foldLeft方法
foldRight方法
4.6.12 groupBy/grouped 分組函式
groupBy :返回一個新的Map集合,Map的key是分組的標準,value是對與標準相同的值進行歸併
grouped :根據給定的長度n,進行分組。每n個元素分為一組。
演示案例:wordcount統計