如何检查Swift中的两个集合是否相同?

Joe*_*ang 12 set swift swift2

我正在使用Swift并有两套,说:

var setA: set<Int>
var setB: set<Int>
Run Code Online (Sandbox Code Playgroud)

如何比较这两组以确定它们是否相同(无论顺序如何都具有相同的元素)?

rob*_*off 23

Swift Set符合Equatable协议(通过符合Hashable,这是一个子协议Equatable).所以你可以这样做:

if setA == setB {
    ...
}
Run Code Online (Sandbox Code Playgroud)


Kal*_*nda 5

“集合 A 是集合 B 的子集,或者等效地 B 是 A 的超集,如果 A 被“包含”在 B 内部,即 A 的所有元素也是 B 的元素。A 和 B 可能重合。”

因此,您可以检查 A 是否是 B 的子集,反之亦然。

let abcSet: Set = ["Chips", "Sandwiches", "Salad"]
var foodSet = Set(["Salad", "Chips", "Sandwiches"])


abcSet.isSubsetOf(foodSet); // true
foodSet.isSubsetOf(abcSet); // true
Run Code Online (Sandbox Code Playgroud)