-
創建數組,數組簡寫
[Int]
var someInts = [Int]() var threeDoubles = Array(repeating: 0.0, count: 3) var sixDoubles = threeDoubles + anotherThreeDoubles var shoppingList:[String] = ["Eggs","Milk"] var shorthandShoppingList = ["Eggs","Milk"]
-
使用“append”在數組末尾添加元素,或者“+=”符號
someInts.append(3) shoppingList += ["Baking Powder"]
-
使用“repeat”創建素有元素值均一樣的默認數組
var threeDoubles = Array(repeating: 0.0, count: 3)
-
使用“...”訪問區間元素,并且可在數目不同時替換
shoppingList[4...6] = ["Bananas", "Apples"]
-
使用remove對數組進行移除操作,注意返回的是被移除元素而非數組
let apples = shoppingList.removeLast() //"Apples"
-
使用“enumerated()”及元組獲取數組當前序號和對應值
for (index, value) in shoppingList.enumerated() { print("Item \(index + 1) : \(value)") //Item 5 : Bananas }
無需排序且值唯一不重復使用 Set
Set 并沒有像 Array 和 Dictionary 那樣的簡寫
放入 Set 中(或者作為字典中 Key)的類型必須為遵循 Hashable 協議的類型。String、Double、Int 等基本類型默認遵循該協議。用戶手動創建的類型必須遵循該協議且實現 hashValue 的 get 方法才可以放入 Set 中(或者作為字典中 Key)
使用
.sorted()
來獲取排序后的Set,實際上是根據 hashValue 排序。-
區別于 Array,Set 有時需要顯示指明變量類型為 Set
var favoriteGenres: Set = ["Rock", "Classical", "Hip hop"]
Set 中可以有重復元素,不會造成錯誤,會自動過濾掉重復元素。
-
使用
contain
判斷是否包含某元素,使用remove
移除指定元素,同時返回該元素(非移除后Set)if favoriteGenres.contains("Funk") { print("I get up on the good foot.") } else { print("It's too funky in here.") } // Prints "It's too funky in here." if let removedGenre = favoriteGenres.remove("Rock") { print("\(removedGenre)? I'm over it.") } else { print("I never much cared for that.") } // Prints "Rock? I'm over it."
-
兩個Set之間的運算
使用a.intersection(b)獲取a與b相交部分
使用a.symmetricDifference(b)獲取a與b相交部分外的所有元素
使用a.union(b)獲取全集
使用a.subtracting(b)獲取a除去所包含b的部分使用a==b,判斷a是否等于b,即a與b包含完全相同的元素
使用a.isSubset(of: b)判斷a是否是b的子集
使用a.isSuperset(of: b)判斷a是否是b的全集
使用a. isStrictSubset(of: b)判斷a是否是b的子集,且a不等于b
使用isStrictSuperset(of: b)判斷a是否是b的全集,且a不等于b
使用a.isDisjoint(of: b)判斷a是否與b不相交 字典中的 key 必須遵循 Hashable 協議
-
字典類型的簡寫
<Key , Value>
或者[Key : Value]
均可var dictionaryA: Dictionary<String,String> var dictionaryB: [String:String]
-
創建字典
var namesOfIntegers = [Int: String]()
-
字典賦值
namesOfIntegers[16] = "sixteen"
使用updateValue(_:forKey:)方法上面賦值方法在賦值時作用相同,不同的是會返回一個原值的可選對象(原值存在返回原值,原值不存在返回nil)
根據特定 key 取出對應 value 的時候由于 key 可能會不存在,相應的 value 可能會為空,所以返回的是可選類型。
使用
= nil
刪除字典中一對值,也可以使用removeValue(forKey:),后者會返回可選類型的原值,也就是說當這對值存在時會在刪除的同時返回 value 的值,否則會返回空。使用元組(key, value)遍歷字典,也可以單獨遍歷字典的keys或者values。
-
使用數組表示字典keys和values
let airportCodes = [String](airports.keys) let airportValues = [String](airports.values)
字典keys無序,可以使用sort()排序。
Collection Types
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
推薦閱讀更多精彩內容
- [The Swift Programming Language 中文版]本頁包含內容: Swift 語言提供Arr...
- Swift 語言提供 Arrays 、 Sets 和 Dictionaries 三種基本的集合類型用來存儲集合數據...