import scala.collection.immutable.Set
//import scala.collection.mutable.Set
/**
* @Author jdj
* @Date 2021/3/27 3:49 下午
* @Version 1.0
*
* Scala Set(集合)
* Scala Set(集合)是没有重复的对象集合,所有的元素都是唯一的。
* Scala 集合分为可变的和不可变的集合。
* 默认情况下,Scala 使用的是不可变集合,如果你想使用可变集合,需要引用 scala.collection.mutable.Set 包。
* 默认引用 scala.collection.immutable.Set,不可变集合实例如下:
*/
object SetDemo {
def main(args: Array[String]): Unit = {
val s1 = Set(1, 2, 3)
println("s1: " + s1)
println("s1 getName:" + s1.getClass.getName)
println("s1 drop:" + s1.drop(1))
//注意: 虽然可变Set和不可变Set都有添加或删除元素的操作,但是有一个非常大的差别。对不可变Set进行操作,会产生一个新的set,原来的set并没有改变,这与List一样。 而对可变Set进行操作,改变的是该Set本身,与ListBuffer类似。
//连接集合
//你可以使用 ++ 运算符或 Set.++() 方法来连接两个集合。如果元素有重复的就会移除重复的元素。实例如下:
val s2 = Set("qq", "ww", "rr")
val s3 = Set("aa", "ww", "tt")
var newSs1 = s2 ++ s3
println("newSs1: " + newSs1)
var newSet2 = s2.++(s3)
println("newSet2: " + newSet2)
//查找集合中最大与最小元素 Set.min 方法来查找集合中的最小元素,使用 Set.max 方法查找集合中的最大元素
//交集 你可以使用 Set.& 方法或 Set.intersect 方法来查看两个集合的交集元素。实例如下:
val num1 = Set(1, 2, 3, 2, 3, 45, 555)
val num2 = Set(44, 66, 4, 3, 2, 1, 4)
var newNum1 = num1.&(num2)
println("newNum1: " + newNum1)
var newNum2 = num1.intersect(num2)
println("newNum2 : " + newNum2)
//差集
var diffNum = num2.diff(num1)
println("diffNum: " + diffNum)
}
}
网友评论