Swift程序 从集合中删除子集
在Swift中,set用于创建唯一元素的无序集合。要从集合中删除子集,Swift提供了两个内置函数,即subtract()和subtracting()。让我们详细讨论两种方法以及示例。
方法1:使用subtract(_ :)函数
subtract(_ :)函数用于从指定集合中删除给定的子集。
语法
func subtract(_subset:mSet<Elements>)
其中,mSet是我们想要从给定集合中删除的子集,并且它必须是有限集。该函数返回一个集合,其中包含集合和子集的公共元素之后的集合。
示例
在下面的示例中,我们首先创建两个整数类型的集合,名为mySet和mSubset。其中mSubset是我们想要从给定集合中删除的集合。然后,我们使用subtract(_ :)函数从mySet中删除mSubset,然后显示更新的集合。
import Foundation
import Glibc
// Creating set and subset
var mySet: Set<Int> = [10, 40, 20, 60, 30, 50]
let mSubset: Set<Int> = [20, 60, 30]
print("Original Set:", mySet)
// Removing subset from a set
mySet.subtract(mSubset)
print("Updated Set:", mySet)
输出
Original Set: [10, 40, 20, 60, 30, 50]
Updated Set: [10, 40, 50]
方法2:使用subtracting(_ :)函数
Swift提供了名为subtracting(_ :)的内置函数,用于从集合中删除子集。此函数返回一个新集合,其中仅包含原始集合中不在给定子集中的元素。
语法
func subtract(_subset:mySet<Elements>)
其中,mySet是我们想要从给定集合中删除的子集,并且它必须是有限集。该函数返回一个新集合,在其中仅包含不在指定子集中的那些元素。
示例
在下面的Swift示例中,我们首先创建两个字符串类型的集合,名为myVeggies和subset。其中subset是我们想要从给定集合中删除的集合。然后,我们使用subtracting(_ :)函数从myVeggies集合中删除subset,并将结果存储在新集合中。然后显示新集合。
import Foundation
import Glibc
// Creating a set and a subset
let myVeggies: Set<String> = ["Potato", "Chilli", "Eggplant", "Spinach", "Tomato", "Beans"]
let subset: Set<String> = ["Chilli", "Beans"]
print("Original Set:", myVeggies)
// Removing subset from a set
let myNewSet = myVeggies.subtracting(subset)
print("New Set:", myNewSet)
输出
Original Set: ["Tomato", "Beans", "Chilli", "Eggplant", "Spinach", "Potato"]
New Set: ["Spinach", "Potato", "Tomato", "Eggplant"]
结论
这就是如何从集合中删除子集。subtract(_ :)和subtracting(_ :)函数的工作方式非常相似,但主要区别是subtract(_ :)函数修改原始集合,而subtracting(_ :)函数创建一个新的结果集。此外,如果集合元素的顺序改变,请不要感到困惑,因为集合是一个无序集合。