Swift - 字典 (Dictionary)
阿新 • • 發佈:2019-01-13
字典 (Dictionary)
- 儲存同類型值的容器;
- 鍵(key)是字典中的這個值資料(value)的唯一識別符號;
- 目前 Swift 的 Dictionary 型別被橋接到 Foundation 的 NSDictionary 類;
- 一個字典的 Key 型別必須遵循 Hashable 協議,就像 Set 的值型別;
建立
// 1. 建立一個可變的空字典 var dictName = [Int: String]() // 2. 使用字典字面量建立(: [String: String]可省略) var dictName: [String: String] = ["key1": "Value1", "key2": "Value2"]
新增
// 1. 使用下標語法
dictName["newKey"] = "newValue"
// 2. 使用特定方法
updateValue(_:forKey:)
刪除
// 1. 使用下表語法
dictName["oldKey"] = nil
// 2. 使用特定的方法
removeValue(forKey:)
修改
// 1. 使用下標語法
dictName["oldKey"] = "newValue"
// 2. 使用特定方法
updateValue(_:forKey:)
遍歷
/* * 1. 遍歷鍵值對 * 我們可以使用 for-in 迴圈來遍歷某個字典中的鍵值對。每一個字典中的資料項都以 (key, value) 元組形式返回,並且我們可以使用臨時常量或者變數來分解這些元組 */ for (keyName, valueName) in dictName { print("\(keyName): \(valueName)") } /* * 2. 遍歷字典的鍵或者值 * 通過訪問 keys 或者 values 屬性 */ for keyDesc in dictName.keys { print("Key: \(keyDesc)") } for valueDesc in dictName.values { print("Value: \(valueDesc)") }
Others
// 1. 通過字典的只讀屬性 count 來獲取某個字典的資料項數量
dictName.count
// 2. 布林屬性 isEmpty 檢查 count 是否為0
dictName.isEmpty
// 3. Swift 的字典型別是無序集合型別。為了以特定的順序遍歷字典的鍵或值,可以對字典的 keys 或 values 屬性使用 sorted() 方法