scala 编程(其五)集合,交差交差集
scala 聚合
1,par 指的是(并行)多线程聚合,有可能造成误差,但是外加上 foldLeft那么就会一个一个
2,flatten 属性将 list之中的小型list进行聚合到一个大的list之中
package day01 object Test7 { def main(args: Array[String]): Unit = { val arr = Array(1,2,3,4,5,6,7,8,9,10) // 累加 fold par 是多线程 val arr1 = arr.par.fold(10)(_+_) // 累加 左往右加 val res = arr.foldLeft(10)(_+_) // 累减 val res1 = arr.foldLeft(10)(_-_) // 虽然 par(并行) 但是 foldLeft还是串行 val arr2 = arr.par.foldLeft(10)(_-_) //list 聚合 var list = List(List(1,2,3),List(3,4,5),List(2)) println(list.flatten.reduce(_+_)) //flatten list合并 // 首先小的 list 聚合 然后,list再进行全局聚合 val res12 = list.aggregate(0)(_+_.sum,_+_) } }
scala 交集,并集,差集是通过 union intersect diff来实现的
package day01 object Test8 { def main(args: Array[String]): Unit = { val li = List(5,6,7,8) val li1 = List(1,2,5,6) // 求并集 val res = li union li1 // 求交集 val res1 = li intersect li1 val res2 = li diff li1 } }