Scala | set集合

41 阅读2分钟

一、Set的定义

Set,集合。表示没有重复元素的集合,特点是:唯一,无序。

二、Set的代码格式

  • 语法格式 val 变量名 = Set[类型] 元素1,元素2...)

  • set会自动去重; 把重复的数据删掉
object set01 {
  def main(args: Array[String]): Unit = {
    // 他会自动去重; 把重复的数据删掉
    val set1 = scala.collection.mutable.Set("13477521906", 609, 21.5, 913)

    println(set1)
  }
}

三、可变 & 不可变

  • Set 有可变(mutable)和不可变(immutable)两种类型。

不可变 Set创建后元素不能修改,可变 Set可对元素进行添加、删除等操作,这两种类型能满足不同场景需求。

set 分为可变 和 不可变
  • 可变:scala.collection.mutable.Set
  • 不可变:scala.collection.immutable.Set
def main(args: Array[String]): Unit = {
  // 他会自动去重; 把重复的数据删掉
  val set1 = scala.collection.mutable.Set("13477521906", 609, 21.5, 913)
  // 添加元素
  set1 += 200
  println(set1)

  val set2 = scala.collection.immutable.Set(609, 913, 723)
  println(set2)

四、Set常见操作

Set 的常见操作

1.添加元素

val set1 = scala.collection.mutable.Set("语文")
// 1.添加元素
set1 += "数学"

println(set1)

2.删除

set1 -= "语文11"

3.合并:把另一个Set中的数据全部合并过来

val set2 = scala.collection.immutable.Set("地理","物理")
val set3 = set1.union(set2)

println(set3)

4.查询:看一个元素是否存在

println(set1.contains("数学"))  // true

5.交集

val hobby1 = scala.collection.mutable.Set("唱歌","跳舞")
val hobby2 = scala.collection.mutable.Set("唱歌","打球")

val result1 = hobby1.intersect(hobby2)
println(result1)

6.差集

val classes1 = scala.collection.mutable.Set("唱歌","跳舞")
val classes2 = scala.collection.mutable.Set("唱歌","打球")

val result2 = classes1.diff(classes2)
println(result2)

Set常见操作完整代码:

object set01 {
  def main(args: Array[String]): Unit = {

    val set1 = scala.collection.mutable.Set("语文")
    // 1.添加元素
    set1 += "数学"

    println(set1)

    // 2.删除
    set1 -= "语文11"

    // 3.合并:把另一个Set中的数据全部合并过来
    val set2 = scala.collection.immutable.Set("地理","物理")
    val set3 = set1.union(set2)

    println(set3)

    // 4.查询:看一个元素是否存在
    println(set1.contains("数学"))  // true

    // 5.交集:两个都有
    val hobby1 = scala.collection.mutable.Set("唱歌","跳舞")
    val hobby2 = scala.collection.mutable.Set("唱歌","打球")

    val result1 = hobby1.intersect(hobby2)
    println(result1)

    // 6.差集:我有你没有
    val classes1 = scala.collection.mutable.Set("唱歌","跳舞")
    val classes2 = scala.collection.mutable.Set("唱歌","打球")

    val result2 = classes1.diff(classes2)
    println(result2)

  }
}