Set集

36 阅读1分钟

一.定义

  1. 含义:集合。表示没有重复元素的集合
  2. 特点:唯一,无序。
  3. 如果放在Set中的元素有重复的,它会自动去重:只保留一个!
def main(args: Array[String]): Unit = {
  val set1 = Set(1,2,3,4,1,1,1,1,1)
  println(set1)
}

输出:1,2,3,4

二.可变与可不变

  1. 可变:mutable。可以直接操作这个容器中的数据,例如:添加。
  2. 不可变:immutable。不能修改容器中的数据。
  3. 默认情况下,使用的Set是不可变的
def main(args: Array[String]): Unit = {
  //默认情况下,使用的set是不可变的
  val set1 = scala.collection.immutable.Set(1,2,3,4,1,1,1,1,1)
  //可变set
  val set2 = scala.collection.mutable.Set(1,2,3)
 //添加操作
  //可变的Set可以直接修改自己
  set2 += 20
  println(set2)
}

三.Set 常见操作

  1. 添加元素
  2. 删除元素
  3. 判断某个元素是否存在
  4. 合并另一个Set
  5. 交集
  6. 差集
def main(args: Array[String]): Unit = {
  //可变set
  val set1 = scala.collection.mutable.Set(1,2,3)
  //1.添加
  set1 += 1
  set1 += 4
  //2.删除
  set1 -= 2
  //3.判断一个元素是否存在
  val value = 3
  if(set1.contains(value)) {
    println(s"${value}存在")
  }else {
    println(s"${value}不存在")
  }
  //4.合并另一个set
  val set2 = scala.collection.mutable.Set("语文")
  val set3 = scala.collection.mutable.Set("英语","数学")
  set2 ++= set3
  //5.交集
  val set4 = scala.collection.mutable.Set("唱歌","跳舞")
  val set5 = scala.collection.mutable.Set("打游戏","打球","跳舞")
  val set6 = set4.intersect(set5)
  //6.差集
  val set7 = scala.collection.mutable.Set("唱歌","跳舞")
  set8 = scala.collection.mutable.Set("打游戏","打球","跳舞")
  val set9 = set8.diff(set7) 
}