在Swift编程语言中,字典(Dictionary)是一种集合类型,用于存储键值对。字典中的每个项都是由一个独一无二的键和与之关联的一个值组成。键和值可以是任何类型,但键的类型必须遵循Hashable协议以便能被哈希和比较。
字典类型的定义语法如下:
[KeyType: ValueType]
这里:
KeyType
是字典中键的类型。ValueType
是字典中值的类型。
例如,如果你想要创建一个存储字符串作为键、整数作为值的字典,你可以这样定义:
var numbersByName: [String: Int] = [:] // 创建一个空字典
numbersByName["one"] = 1
numbersByName["two"] = 2
访问和修改字典元素的方法包括:
// 访问值
let valueForOne = numbersByName["one"]
// 修改或添加键值对
numbersByName["one"] = 10 // 如果"one"已经存在则更新值,否则添加新的键值对
// 检查字典是否包含某个键
if let foundValue = numbersByName["three"] {
print("找到了键 'three' 对应的值: \(foundValue)")
} else {
print("字典中没有键 'three'")
}
// 获取字典的所有键、值或键值对
let allKeys = numbersByName.keys
let allValues = numbersByName.values
for (key, value) in numbersByName {
print("\(key): \(value)")
}
另外,Swift 中的字典是无序的,也就是说它们不会按照插入顺序保存元素,但从 Swift 4 开始,字典的遍历顺序是确定的,即每次运行程序都会按照同样的顺序遍历字典元素,这一顺序基于键的哈希码并保持稳定。