概念:
1)相同类型、没有固定顺序、数值不能重复的数据集合。
2)哈希化
Swift中,所有默认的数据类型都是可以哈希化的。只有能哈希化的数值才能存储在set中类对象(引用类型)则不行
对象相等,指的是两个对象名指向同一个对象。判断时,用===
3)创建和使用
3.1)创建空Set<数据类型>()
3.2)添加
inert方法
3.3)直接用字面量构建
var 集名:Set<数据类型> =【值1,值2...,值n】
3.4)count属性,获取set中项数
3.5)isEmpt,bool值,是否为空
3.6)remove方法,删除指定数值
3.7)contains方法,监测指定值是否在set中存在,返回bool值
4.遍历
因为set中没有顺序,所以不能使用普通for循环遍历,只能使用 for in 遍历。
注意:
可以通过sort方法对set排序,返回一个按值排序的新ste,一般用于遍历中。
5.set特殊操作
- 使用
intersect(_:)
方法根据两个集合中都包含的值创建的一个新的集合。 - (
即:求两集交集set a:1, 2, 3set b:2, 4, 6a.interset(b))
- 使用
exclusiveOr(_:)
方法根据在一个集合中但不在两个集合中的值创建一个新的集合。(即,两集所有元素,去除交集部分) - 使用
union(_:)
方法根据两个集合的值创建一个新的集合。 - 使用
subtract(_:)
方法根据不在该集合中的值创建一个新的集合。(即,返回当前集合中摆出交集的剩余项作为新集。)
6.字典
字典无需,每个项包含有两个部分,键key和值value,所有键的数据类型要相同,所有value的数据类型也要想通,但键和值得数据类型随意(可相同、可不同)。
键key的数据类型必须可哈希化(为值类型)
6.1)创建
1)空字典
var 字典名 =【键数据类型:值数据类型】()
2)用字典字面量创建字典
var 字典名=【键1:值1,。。。。键n:值n】