📅  最后修改于: 2023-12-03 15:23:18.882000             🧑  作者: Mango
Set 是一种集合类数据结构,其特点是不允许有重复元素。Scala 中的 Set 实现了 Iterable 和 Traversable 特质,提供了许多常用的方法。
首先,我们需要创建一个 Set 对象。Scala 中有两种方式可以创建 Set:mutable 和 immutable,前者可变,后者不可变。
import scala.collection.mutable.Set
// 创建空的 mutable Set
val set1 = Set[Int]()
println(set1) // Set()
// 创建带有初始元素的 mutable Set
val set2 = Set(1, 2, 3)
println(set2) // Set(1, 2, 3)
import scala.collection.immutable.HashSet
// 创建空的 immutable Set
val set1 = HashSet[Int]()
println(set1) // Set()
// 创建带有初始元素的 immutable Set
val set2 = HashSet(1, 2, 3)
println(set2) // Set(1, 2, 3)
在创建了 Set 对象后,我们可以调用其提供的方法进行操作。下面列举了常用的 Set 方法。
我们可以使用 +
方法对 Set 进行添加操作,注意添加元素之后会返回一个新的 Set 对象,原 Set 对象不变。
import scala.collection.mutable.Set
val set = Set(1, 2, 3)
println(set) // Set(1, 2, 3)
// 添加一个元素
val newSet1 = set + 4
println(newSet1) // Set(1, 2, 3, 4)
// 添加多个元素
val newSet2 = set + (4, 5)
println(newSet2) // Set(1, 2, 3, 4, 5)
我们可以使用 -
方法对 Set 进行删除操作,同样删除元素之后会返回一个新的 Set 对象,原 Set 对象不变。
import scala.collection.mutable.Set
val set = Set(1, 2, 3)
println(set) // Set(1, 2, 3)
// 删除一个元素
val newSet1 = set - 2
println(newSet1) // Set(1, 3)
// 删除多个元素
val newSet2 = set - (2, 3)
println(newSet2) // Set(1)
我们可以使用 ++
方法将两个 Set 合并成一个新的 Set 对象。
import scala.collection.mutable.Set
val set1 = Set(1, 2, 3)
val set2 = Set(3, 4, 5)
// 合并 set1 和 set2
val newSet = set1 ++ set2
println(newSet) // Set(5, 1, 2, 3, 4)
Set 提供了一些数学集合中的操作方法,如交集、并集和差集等。
import scala.collection.mutable.Set
val set1 = Set(1, 2, 3)
val set2 = Set(3, 4, 5)
// 交集
val intersection = set1.intersect(set2)
println(intersection) // Set(3)
// 并集
val union = set1.union(set2)
println(union) // Set(5, 1, 2, 3, 4)
// 差集
val diff = set1.diff(set2)
println(diff) // Set(1, 2)
本文介绍了在 Scala 中调用 Set 的方法,包括创建 Set 对象、添加元素、删除元素、合并 Set 和 Set 操作等。希望读者可以通过本文掌握 Set 的使用方法,为开发提供便利。