集合類型
提供三種集合,數組、合集、字典。
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