1. 添加元素
var set1 = scala.collection.mutable.Set("apple", "grape", "apple", "pear")
set1 += "banana"
- 使用
+=操作符向可变Set中添加元素 - 由于
Set不允许重复元素,添加已存在的元素不会报错,但也不会改变集合
2. 删除元素
set1 -= "grape"
- 使用
-=操作符从可变Set中删除元素 - 如果删除的元素不存在,不会报错,集合也不会改变
3. 查询元素是否存在
if (set1.contains("apple")) {
println("apple 存在")
}
contains方法用于判断元素是否在Set中,返回Boolean值- 输出:
apple 存在
4. 合并 Set
val set2 = scala.collection.mutable.Set("orange")
val set3 = set1.union(set2) // 或者 set1 ++ set2
union方法(或++操作符)用于合并两个Set,返回一个新的Set,包含两者所有元素- 结果:
set3包含apple, pear, banana, orange
5. 求交集
val hobby1 = scala.collection.mutable.Set("看书", "听歌")
val hobby2 = scala.collection.mutable.Set("打球", "看书")
val rst = hobby1.intersect(hobby2)
intersect方法用于获取两个Set的交集- 结果:
rst为Set("看书")
6. 求差集
val classes1 = scala.collection.mutable.Set("语文", "数学", "英语")
val classes2 = scala.collection.mutable.Set("数学", "物理")
val rst1 = classes2.diff(classes1)
diff方法用于获取前者相对于后者的差集classes2.diff(classes1)的结果是Set("物理")- 如果是
classes1.diff(classes2),结果则是Set("语文", "英语")
不可变 Set 的注意事项
如果使用不可变 Set,则不能直接用 += 或 -= 修改,需要重新赋值:
var set = Set(1, 2, 3)
set += 4 // 实际是创建新 Set 并赋值给 set
总结
-
可变 Set:可以直接修改集合(添加 / 删除元素)
-
不可变 Set:每次修改都会生成新集合
-
常用操作:
- 添加:
+= - 删除:
-= - 查询:
contains - 并集:
union或++ - 交集:
intersect - 差集:
diff
- 添加: