字典是一种存储相同类型多重数据的存储器。每个值(value)都关联独特的键(key),键作为字典中的这个值数据的标识符。和数组中的数据项不同,字典中的数据项并没有具体顺序。
字典写作Dictionary<Key, Value>。也可以写作[Key: Value]
创建空字典
var namesOfIntegers = [Int: String]() // namesOfIntegers is an empty [Int: String] dictionary
类型推断写作[:]
namesOfIntegers[16] = "sixteen" // namesOfIntegers now contains 1 key-value pair namesOfIntegers = [:] // namesOfIntegers is once again an empty dictionary of type [Int: String]
创建字典字面量
[key 1: value 1, key 2: value 2, key 3: value 3]
var airports: [String: String] = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]
类型推断写作
var airports = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]
访问和修改
count返回字典的键值对数
isEmpty判断字典是否为空
airports["LHR"] = "London Heathrow
if let oldValue = airports.updateValue("Dublin Airport", forKey: "DUB") { print("The old value for DUB was \(oldValue).") } // Prints "The old value for DUB was Dublin.
removeValueForKey(_:)删除键值对
if let removedValue = airports.removeValueForKey("DUB") { print("The removed airport‘s name is \(removedValue).") } else { print("The airports dictionary does not contain a value for DUB.") } // Prints "The removed airport‘s name is Dublin Airport.
遍历
for (airportCode, airportName) in airports { print("\(airportCode): \(airportName)") } // YYZ: Toronto Pearson // LHR: London Heathrow
for airportCode in airports.keys { print("Airport code: \(airportCode)") } // Airport code: YYZ // Airport code: LHR for airportName in airports.values { print("Airport name: \(airportName)") } // Airport name: Toronto Pearson // Airport name: London Heathrow
时间: 2024-10-12 20:33:17