阿克苏网站建设价格,成都诗和远方网站建设,装饰网站方案,网站开发公司安心加盟1.集合的三特性确定性#xff1a;给定一个集合#xff0c;任意给一个元素#xff0c;该元素或者属于或者不属于该集合#xff0c;二者必居其一。互斥性#xff1a;一个集合中的所有元素都是不相同的。无序性#xff1a;每个元素的地位相同#xff0c;元素之间是无序的。…1.集合的三特性确定性给定一个集合任意给一个元素该元素或者属于或者不属于该集合二者必居其一。互斥性一个集合中的所有元素都是不相同的。无序性每个元素的地位相同元素之间是无序的。2.Set的创建// 初始化器创建
var letters SetCharacter()
letters.insert(c)
print(letters) // 输出 [c]// 数组字面量来创建set
var course: SetString [Math, English]
course.insert(History)3.Set的遍历For-in遍历由于Set是无序的如果要顺序遍历Set需要使用sorted()方法。var courses: SetString [Math, English]
for course in courses.sorted() {print(course)
}
// 输出 English Math4.Set常用属性和方法使用count获得Set里元素个数使用isEmpty判断Set是否为空insert(_: )添加一个元素到Setupdate(with:) 如果已有相等的元素替换为新的元素如果Set中没有则插入filter(_:)返回一个新的Set新Set的元素是原始Set符合条件的元素var personSet: Set [Person(name: lewis, age 30)]
personSet.update(with: Person(name: Jonathan, age: 20))
print(personSet.filter{ $0.age 25 })
// 输出 Person[name: lewis, age: 30]remove(_:)从Set中移除一个元素如果元素是Set的成员就移除它并返回移除的值如果集合没有这个成员就返回nilremoveAll()移除集合中所有元素5.Set的基本操作intersection(_:)是求两个集合的交集union(_:)求两个集合的并集symmetricDifference(_:)就两个集合的对称差集subtracting(_:)是求两个集合的相对补集let set: SetCharacter [A,B,C]
let set2: SetCharacter [B,E,F,G]
print(set.intersection(set2))
print(set.union(set2))
print(set.symmetricDifference(set2))
print(set.subtracting(set2))
// 输出如下
// [B]
// [E,F,B,G,A,C]
// [E,F,C,A,G]
// [A,C]6.Set的判断方法isSubset(of:)判断是否是另一个Set或者Sequence的子集isSuperset(of:)判断是否是另一个Set或者Sequence的超集isStrictSubset(of:)和isStrictSuperset(of:)判断是否是另一个Set的子集或超集但又不等于另个一SetisDisjoint(with:)判断两个Set是否有公共元素如果没有返回true有则返回falselet smallSet: Set [1,2,3]
let bigSet: Set [1,2,3,4]
print(smallSet.isSubset(of: bigSet))
print(bigSet.isSuperset(of: smallSet))
print(bigSet.isStrictSuperset(of: smallSet))
print(smallSet.isDisjoint(with: bigSet))
// 输出 true true true false