swift -- 集合
//注意:集合中的元素是无序的,并且不想数组,字典那样,没有索引和键.
1.创建一个空集合
var set1 : Set<Int> = Set<Int>()
2.用字面量创建集合
var set2 : Set<Int> = [1,2,3,4,5]
3.获取集合中元素个数
print(set2.count)
4.集合是否为空
print(set.isEmpty)
5.向集合中添加元素
set2.insert(10)
set2.insert(11)
6.删除集合中的某个元素
set2.remove(5) //删除集合中的5
7.遍历结合
for i in set2{
print( i )
}
8.有序遍历集合(小--->大)
for i in set2.sort(){
print( i )
}
9.判断集合是否包含某个值
print(set2.contains(2))
10.集合的操作
var set3 : Set<Int> = [1,2,3,4,]
var set4 : Set<Int> = [2,4,6,8]
//a.使用intersect(_:)方法根据两个集合中都包含的值创建的一个新的集合-----交集
var set5 : Set<Int> = set3.intersect(set4)
//b.使用exclusiveOr(_:)方法根据在一个集合中但不在两个集合中的值创建一个新的集合。--- 除交集以外的元素
var set6 : Set<Int> = set3.exclusive(set4)
//c.使用union(_:)方法根据两个集合的值创建一个新的集合。--- 并集
var set7 : Set<Int> = set3.union(set4)
//d.使用subtract(_:)方法根据不在该集合中的值创建一个新的集合。
var set8 :Set<Int> = set3.subtract(set4)
11.集合之间的关系
var set9 :Set<Int> = [1,2,3,4,5]
var set10 :Set<Int> = [1,2,3,4,5]
var set11 :Set<Int> = [1,2,3,4,5,6,7,8]
//a 元素是否相同
print(set9 == set10)
//b 是否是子集合(被包含)
print(set10.isSubsetOf(set11))
//c 是否是父集合(包含)
print(set11.isSupersetOf(set10))
//d 是否是子/父结合,并且两集合不相等
print(set10.isStrictSubsetOf(set11))
//e 判断是否没有交集
print(set10.isDisjointWith(set11))