scala_set集

set的定义

set,集合,表示没有重复的元素的集合

set特点

唯一(元素不重复)。无序

set格式

val 变量名 = Set [类型]  (元素1,元素2……)

object Test_Set {
  def main(args: Array[String]): Unit = {
//    val set1 = Set[Int](1,2,3)
    //如果元素有相同的,则只保留一个!
    var set1 = Set[Int](1,1,1,1)
//    val set2 = Set[String]("apple","dog")
    var set2 = Set("apple","dog")
    //如果有初始值,可以省略类型
    println(set1)
    println(set2)

  }
}

Set类型

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

//1.默认使用的set是不可变的
//如果要定义可变的Set,需要额外导入包
import scala.collection.mutable
//import scala.collection.mutable.Set
object Test_Set2 {
  def main(args: Array[String]): Unit = {
//    val set1 = mutable.Set("语文","数学","英语")
//    val set2 = set1 + "物理"
//    //set1 =set1 + "物理"
//    println(set1)
//    println(set2)
    
    //下面的代码是可变的
    val set1 = mutable.Set()
    set1 +="物理"
    println(set1)
  }
}

Set常见操作

1.添加元素

2.删除元素

3.添加set

set3 = set1 ++ set2

//默认使用的set是不可变的
//如果要定义可变的Set,需要额外导入包
import scala.collection.mutable
//import scala.collection.mutable.Set
object Test_Set2 {
  def main(args: Array[String]): Unit = {
//    val set1 = mutable.Set("语文","数学","英语")
//    val set2 = set1 + "物理"
//    val set3 = set2 - "英语"
//    //set1 =set1 + "物理"
//    println(set1)
//    println(set2)

    //下面的代码是可变的
    val set1 = mutable.Set("语文","数学","英语")
    val newSet =mutable.Set("体育","电影鉴赏课","美术","音乐","语文","语文")
    //添加一个元素
    set1 +="物理"
    //删除一个元素
    set1 -="英语"
    //把另一个Set合并进来
    set1 ++= newSet
    //查询元素是否存在
    val rs = set1.contains("美术")

    println(rs)
    
    println(set1)
  }
}

4.集合操作

(1)并集
(2)交集
(3)差集
    val class1 = mutable.Set("喜洋洋","懒羊羊","美羊羊")
    val class2 = mutable.Set("大头儿子","小头爸爸","围裙妈妈")
    //两个集合的并集
    val class3 = class1.union(class2)
    
    //两个集合的交集
    val class4 = class1.intersect(class2)

    //两个集合的差集
    val class5 = class1.diff(class2)
    
    println(class5)

【问题】

1.在scala中,不可变set和可变set的主要区别是什么?        B

A、元素类型不同        B、能否修改元素        C、存储大小不同        D、没有区别

2.以下哪个操作符用于向可变Set添加元素?        A

A、+=        B.-=        C.+        D.-

3、对于不可变set,如果添加一个新元素,会发生什么?        C

A.直接添加        B.抛出异常        C.创建一个新的Set        D.编译错误

4使用contains方法在set中查询元素,返回值是什么类型?        B

A.Int        B.Boolean        C.String        D.Set

5、求两个set的交集使用的方法是什么?        B

A .union        B.intersect        C.diff       D.contains

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值