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
  }
}

 

posted @ 2019-03-09 11:27  十七楼的羊  阅读(283)  评论(0编辑  收藏  举报