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