一: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)
}
}
输出结果: