集合类型
提供三种集合,数组、合集、字典。
Swift中的集合总是明确能储存的值的类型。
Swift中的集合是采用泛型实现的
集合的可变性
Swift创建的集合是可变的,可以进行删除添加等操作。如果将创建的集合类型赋值给常量let,那么就是不可变的。
应该在集合不需要改变的情况下创建不可变集合,这样Swift编译器可以进行优化
数组
以有序方式储存相同类型的值。
数组类型缩写语法
采用Array<Element>表示数组,可以使用[Element]缩写数组
创建一个空数组
可以使用确定类型通过初始化语法创建一个空数组
var someInts = [Int]()
使用默认值创建数组
var threeDoubles = Array(repeating: 0.0, count:3)
通过连接两个数组来创建数组
直接使用+号来连接,新数组类型从相加的数组里推断出来
使用数组字面量创建数组
var shoppigList: [String] = ["Eggs", "Milk"]
访问和修改数组
可以通过数组方法和属性来修改数组,或者使用下标
遍历一个数组
使用for-in
,并且都不需要定义遍历出的变量的类型
如for item in shoppingList { print(item) }
如果还需要值的索引,可以使用enumerated()
遍历
for (index, value) in shoppingList.enumerated() { ... }
合集 Set
存在于合集中的类型必须可哈希,所以必须提供计算哈希值的方法
合集类型语法
Set<Element>
创建并初始化一个空合集
var set = Set<Character>()
使用数组字面量创建合集
同数组方式
访问和修改合集
遍历合集
for-in
执行合集操作
基础库提供了基本合集操作,例如合集、交集
基本合集操作
合集成员关系和相等性
使用==
和一些其他成员函数判断
字典
存储无序的互相关联的同一类型的键和同一类型的值的集合。
字典类型简写语法
Dictionary<Key, Value>
,可以使用[Key, Value]
简写
字典的Key也必须遵循Hashable协议
创建一个空字典
var nameOfIntegers = [Int, String]()
用字典字面量创建字典
var airports: [String: String] = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]
访问和修改字典
遍历字典
for-in