iOS开发 - 「Swift 学习」Sets集合比较
2021-11-24 本文已影响0人
俺不是大佬儿
Swift语言Set集合的比较
先创建三个集合常量:
let houseAnimals:Set = ["dog", "cat"]
let farmAnimals:Set = ["cow", "chicken", "sheep", "dog", "cat"]
let cityAnimals:Set = ["bird", "mouse"]
一、比较两个集合元素是否相同
使用“是否相等”运算符(==)
来判断两个集合是否包含全部相同的值
/*
简单粗暴的比较方法。
*/
if houseAnimals == cityAnimals {
print("这两个集合的元素完全相等")
}else {
print("这两个集合的元素不是完全相等的")
}
二、比较两个集合元素是否有交集关系
使用isSubset(of:)
方法来判断一个集合中的值是否被包含在另外一个集合中(有包含的部分元素)
let results1 = houseAnimals.isSubset(of: farmAnimals)
if results1 {
print("集合houseAnimals的元素 有被 包含在 farmAnimals集合中的部分")
}else {
print("farmAnimals集合元素 没有包含 farmAnimals元素的部分")
}
三、比较两个集合元素是否有子集的关系(集合元素完全包含在另一个一个集合中)
使用isSuperset(of:)
方法来判断一个集合中包含另一个集合中所有的值(有子集关系)
let results2 = farmAnimals.isSuperset(of: houseAnimals)
if results2 {
print("farmAnimals集合包含了 houseAnimals 集合的所有元素")
}else {
print("farmAnimals集合 与 houseAnimals 集合没有子集关系")
}
四、比较两个不相等的集合元素是否有子集/父集的关系
使用isStrictSubset(of:)
或者isStrictSuperset(of:)
方法来判断一个集合是否是另外一个集合的子集合或者父集合并且两个集合并不相等
let results3 = cityAnimals.isStrictSubset(of: farmAnimals)
if results3 {
print("集合cityAnimals 是 farmAnimals的子集")
}else {
print("集合cityAnimals 与 集合farmAnimals没啥关系")
}
五、比较两个集合元素是否不存在交集(不含有相同的值)
使用isDisjoint(with:)
方法来判断两个集合是否不含有相同的值
(是否没有交集)
let results4 = farmAnimals.isDisjoint(with: cityAnimals)
if results4 {
print("集合farmAnimals 与 集合cityAnimals没有交集")
}else {
print("集合farmAnimals 与 集合 cityAnimals 存在交集")
}