scala中Set的定义与代码格式

26 阅读2分钟

一:Set的定义

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

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

二:Set的代码格式

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

val set1 = SetInt()

val set2 = SetString("apple","dog")

println(set1,set2)

注意:它的元素不能重复,例如 Set(1,1) ==> Set(1)

package txy

object Demo20 {
  def main(args: Array[String]): Unit = {
    val set1 = Set(1,2,3,4,1,1,1)
    //val set1 = scala.collection.immutable.Set(1,2,3,4,1,1,1)
    //immutable:不可变
    val set2 = scala.collection.mutable.Set(1,2,3)
    //mutable:可变
    println(set1)
    println(set2)
    set2 += 4
    println(set2)
  }
}

在set中的一些方法:

1:添加元素: set += *

2:删除元素: set -= *

3:判断元素是否存在: set.contains(*)

4:合并其他的set: set1 ++= set2

5:求set的交集:(set中都存在的元素) set1.intersect(set2)

6:求set的差集(set1中存在而set2中不存在的元素) set1.diff(set2)

package txy

object Demo20 {
  def main(args: Array[String]): Unit = {
    val set1 = Set(1,2,3,4,1,1,1)
    //输出后不会有重复的元素
    //val set1 = scala.collection.immutable.Set(1,2,3,4,1,1,1)
    //immutable:不可变
    val set2 = scala.collection.mutable.Set(1,2,3)
    //mutable:可变
    println(set1)
    println(set2)
    //添加元素
    //set += *
    set2 += 4
    println(set2)
    //删除元素
    //set -= *
    set2 -= 1
    println(set2)
    //判断元素是否存在
    //set.contains
    val s = 3
    if (set2.contains(s)){
      println(s"${s}存在于set2中")
    }else {
      println("不存在")
    }
    //合并其他的set
    // set3 ++= set4
    val set3 = scala.collection.mutable.Set("沈冲","狗")
    val set4 = scala.collection.mutable.Set("涂新宇","猪")
    set3 ++= set4
    println(set3)
    //交集
    //set5.intersect(set6)
    val set5 = scala.collection.mutable.Set("沈冲","打瓦","王者")
    val set6 = scala.collection.mutable.Set("涂新宇","唱歌","打瓦","王者")
    val set7 = set5.intersect(set6)
    println(set7)
    //差集
    //set5.diff(set6)
    //查找set5中有的且set6中没有的元素
    val set8 = set5.diff(set6)
    println(set8)
  }
}

输出结果:

image.png