Scala Set集合 元素唯一,无序

package com.wyh.day01


/**
  * Set集合
  * 唯一,无序
  *
  * Set中大部分方法与List一致,但是不可以进行排序
  */
object ScalaSet {
  def main(args: Array[String]): Unit = {
    var set1 = Set(12, 23, 42, 654, 234, 123, 12, 32, 23, 42)

    for (elem <- set1) {
      println(elem)
    }

    //可以直接输出
    println(set1)

    /**
      * Set集合可以进行交集并集差集
      */

    var s1 = Set(1,2,3,4,5,6,7,8)
    var s2 = Set(4,5,6,7,8,9,10,11)
    println("交集:")
    println(s1 & s2)
    println("并集:")
    println(s1 | s2)
    println("s1对s2差集:")
    println(s1 &~ s2)
    println("s2对s1差集")
    println(s2 &~ s1)

    /**
      * 因为Set集合不支持排序
      *   所以我们转换成List
      */
    set1.toList.sortBy(i=>i).foreach(println)

    /**
      * 将List集合转换成Set集合的时候,自动去重但是不排序
      */
    var list1 = List(1,2,3,4,5,5,67,2,1,3)
    val list = list1.sortBy(i=>i)
    println(list)
    list.distinct.toSet.foreach(println)





  }
}
posted @ 2020-01-20 13:08  Xiaohu_BigData  阅读(453)  评论(0编辑  收藏  举报