Set是用来存储相同类型并且无序的集合类型,这是一个简单的Set集合:
var set:Set = [“1”,”2”,”3″]
set是一个Set类型的集合,集合中只能出现String类型的数据,如果放入了其他类型,会报错。但是如果没有指定集合中的数据类型,那就没有关系。
var set:Set = [“1”,”2”,”3”,4,5,6,7]
Set集合另外一个特性就是处理相同值,当一个Set中出现了相同值,不会抛出异常,只使用一个值。
letset:Set= ["1","2","3","4","1"] print(set,"count:",set.count) // ["4", "2", "1", "3"] count: 4
你可以通过调用Set的remove(_:)方法去删除一个元素,如果该值是该Set的一个元素则删除该元素并且返回被删除的元素值,否则如果该Set不包含该值,则返回nil。另外,Set中的所有元素可以通过它的removeAll()方法删除。
varset:Set= ["1","2","3","4"] if let removedSet = set.remove("3") { print("\(removedSet)? I'm over it.") }else{ print("I never much cared for that.") }
使用contains(_:)方法去检查Set中是否包含一个特定的值:
let set:Set= ["1","2","3","4"] if set.contains("3") { print("contains 3") }else{ print("not found") }
遍历一个集合
let set:Set= ["1","2","3","4","1"] for item in set { print(item) }
集合操作
使用intersect(_:)方法根据两个集合中都包含的值创建的一个新的集合。
let set1:Set= [1,2,3,4] let set2:Set= [3,4,5,6] let intersectSet = set1.intersect(set2) print(intersectSet) // [3, 4]
使用exclusiveOr(_:)方法根据在一个集合中但不在两个集合中的值创建一个新的集合。
let set1:Set= [1,2,3,4] let set2:Set= [3,4,5,6] let exclusiveOrSet = set1.exclusiveOr(set2) print(exclusiveOrSet) // [5, 6, 2, 1]
使用union(_:)方法根据两个集合的值创建一个新的集合。 let set1:Set= [1,2,3,4] let set2:Set= [3,4,5,6] let unionSet = set1.union(set2) print(unionSet) // [5, 6, 2, 3, 1, 4]
使用subtract(_:)方法根据不在该集合中的值创建一个新的集合。
let set1:Set= [1,2,3,4] let set2:Set= [3,4,5,6] let subtractSet = set1.subtract(set2) print(subtractSet) //[2, 1]
使用“是否相等”运算符(==)来判断两个集合是否包含全部相同的值。
let set1:Set= [1,2] let set2:Set= [4,3,2,1] if(set1 == set2) { print("true"); }
else { print("false") }
使用isSubsetOf(_:)方法来判断一个集合中的值是否也被包含在另外一个集合中。
let set1:Set= [1,2] let set2:Set= [4,3,2,1] let bool = set1.isSubsetOf(set2) print(bool) // true
使用isSupersetOf(_:)方法来判断一个集合中包含另一个集合中所有的值。
let set1:Set= [1,2] let set2:Set= [4,3,2,1] let bool = set2.isSupersetOf(set1) // true let bool = set1.isSupersetof(set2) // false print(bool)
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有