在 Swift 语言简明教程(六) - 字典类型 中, 我们了解了 Swift 中字典类型的用法,现在我们来了解一下 Swift 中的集合类型 - Set。
集合可以用来存储无序,不重复的数据。
声明及初始化
1 | var set1:Set<Int> = [1,2,3,4] |
注意与Array的定义和初始化区别
简单操作
判断元素个数
使用 count 属性
1 | set1.count |
判断集合是否为空
使用 isEmpty 属性
1 | if set1.isEmpty { |
判断是否包含某元素
1 | if set1.contains(1){ |
添加元素
1 | set1.insert(5) |
删除元素
1 | set1.remove(1) |
注意:这里的1不是序号(下标),是1这个元素
删除所有元素
1 | set1.removeAll() |
集合操作
假设有两个集合
1 | var set3:Set<Int> = [1,2,3,4] |
取交集
1 | var setInter = set3.intersection(set4) |
运算以后,setInter 将包含 {2, 1}
取并集
1 | var setUni = set3.union(set4) |
运算以后,setUni 将包含 {4, 5, 6, 3, 1, 2}
取补集
1 | var setEx = set3.symmetricDifference(set4) |
运算以后,setEx 将包含 {4, 6, 3, 5}
子集判断
假设有如下的几个集合:
1 | var set5:Set = [1,2] |
- 判断是否是某个集合的子集 set5是set7的子集 返回ture
1 | set5.isSubset(of: set7) |
- 判断是否是某个集合的超集 set7是set5的超集 返回ture
1 | set7.isSuperset(of: set5) |
- 判断是否是某个集合的真子集
set5是set7的真子集 返回ture
1 | set5.isStrictSubset(of: set7) |
set7不是set8的真超集 返回false
1 | set7.isStrictSuperset(of: set8) |
遍历元素
可以使用 for 语句进行遍历
1 | for item in set7 { |
也可以获取元素的下标
1 | for index in set7.indices { |
还可以设定排序后进行遍历
1 | for item in set7.sorted(by: >){ |
下一步
接下来,我们将简要的介绍 Swift 中的函数 - Swift 语言简明教程(八) - 函数。