1.普通的数据类型,和结构体、枚举等,是值类型,赋值时,会建立一个备份,给新的变量。
2.类、对象是引用类型,赋值时,并不会新建对象的副本,而是把对象的地址给新对象名。
所以,对象名中存储的并不是完整对象的内容,只存储了找到这个对象的地址。
3.Sets(集)
3.1概念
相同类型、没有固定顺序、数值不能重复的数据集合。
3.2哈希化
Swift中,所以默认的数据类型都是可以哈希化的。
只有能哈希化得数值才能存储在set中。类对象(引用类型)则不行。
对象相等,值得是两个对象名指向同一个对象。判断时,用===
3.3创建和使用
1)创建空Set
var 集名=Set<数据类型>()
2)添加
inert方法
3)直接用字面量构建
var 集名:Set <数据类型>=[ 值1,值2.,...,值n ]
或
var 集名:Set=[ 值1,值2,...,值n ]
4)count 属性,获取set中项数
5)isEmpty,bool值是否为空
6)remove方法,删除指定数值
7)container方法,监测指定值是否在set中存在,返回bool值
3.4遍历
因为set中没有顺序,所以不能使用普通for循环遍历,只能使用for in 遍历。
注意:
可以通过sort方法对set排序,返回一个按值排序的心set,一般用于遍历中。
3.5 set特殊操作
- 使用
intersect(_:)方法根据两个集合中都包含的值创建的一个新的集合。 - 即:返回两集交集
- set a:1.2.3
- set b:2.3.6
- a.interset(b)
- //2
- a.exclusiveOr(b)
- 使用
exclusiveOr(_:)方法根据在一个集合中但不在两个集合中的值创建一个新的集合。 - 即,两集所以元素,除去交集部分
- 使用
union(_:)方法根据两个集合的值创建一个新的集合。 - 即,返回两集并集
- 使用
subtract(_:)方法根据不在该集合中的值创建一个新的集合。 - 即,返回当前集合中排出交集的剩余项做为新集
Swift 的字典类型是无序集合类型。为了以特定的顺序遍历字典的键或值,可以对字典的keys或values属性使用sort()方法。
Swift值类型与引用类型详解
2027

被折叠的 条评论
为什么被折叠?



