本文章純粹是中文版《The Swift Programming Language》的學習筆記,因此絕大部分的內容都是文中有的。本文是本人的學習筆記,不是正式系統的記錄。僅供參考html
如下仍是有不少沒看懂、不肯定的地方,我會以「存疑」的註解指出。編程
在此感謝中文版翻譯者,這極大地加快了 Swift 的學習速度。swift
本文地址:http://www.javashuo.com/article/p-onthnjzw-hc.htmlsegmentfault
原版:The Swift Programming Language
中文版:Swift 3 編程語言 - 集合類型數組
集合類型涉及三種類,分別是 Array, Set, Dictionary
,分別對應 NSArray, NSSet, NSDictionary
,也就是數組、集合、關聯數組。app
var someInts = [Int]() var anEmptyArray = [] var arrayRepeated = Arrar(Repeating: 2.5, count 3) // 建立一個 Float 類型數組,值重複三次 var shoppingList : [String] = ["eggs", "milk"] var shoppingList = ["eggs", "milk"]
能夠用加號鏈接兩個數組,得到一個新數組。編程語言
isEmpty() append(_:) += count() someArray[4....6] // 取子數組 removeLast() // 同時會返回被刪除的對象 insert(_: at:)
這裏要用到 enumated
方法:學習
for (index, value) in anArray.enumated() { print ("Item \(index + 1): \(value)") }
var aSet = Set<Characters>() // 建立 Characters 類型的 Set var aSet:Set = ["S", "w", "i", "f", "t"] // 注意必須指定是 Set 類型,不然 Swift 會默認爲 Array 類型
count() isEmpty() insert(_:) remove(_:) removeAll() contains(_:) isSubset(of:) isSuperset(of:) isDisjoint(of:) // 判斷二者是否有交集
for value in aSet { ... }
a.intersects(b)
a.excludeOr(b)
a.union(b)
a.substract(b)
var aDict = [Int : String]() var aDict = [:] var aDict = ["one": 1, "two": 2] // 以 「key-value」 對建立 Dictionary
count() isEmpty() updateValue(_:forKey:) // 同時返回被替代掉的對象 aDict["SomeKey"]
另外,賦值 nil
能夠刪除指定的鍵值對ui
for (theKey, theValue) in aDict { ... }