在 Swift 语言简明教程(五) - 列表类型 中, 我们了解了 Swift 中列表类型的用法,现在我们来了解一下 Swift 中的字典类型 - Dictionary。
字典用来存储健、值对。
声明及初始化
声明字典[param1:param2]这种结构用于表示字典类型 param1为键类型 param2为值类型, 如:
也可以使用:
1
| var dic2:Dictionary<Int,String>
|
这种方式和[:]效果一样 因此:dic2与dic1为相同的类型
在创建字典时,也可以不显示声明字典的类型,可以通过赋初值的方式来使编译器自动推断
也可以先声明,再赋值,比如为上面声明的 dic1 和 dic2 进行赋值
1 2
| dic1 = [1:"1",2:"2",3:"3"] dic2 = Dictionary(dictionaryLiteral: (1,"1"),(2,"2"),(3,"3"))
|
也可以创建空的字典
1 2
| var dic4:[Int:Int] = [:] var dic5:Dictionary<Int,Int> = Dictionary()
|
判断元素个数
使用 count 属性
判断字典是否为空
使用 isEmpty 属性
1 2 3
| if dic4.isEmpty{ print("字典为空") }
|
基本存取操作
- 通过key获取值
为了避免字典中不存在某个 Key, 而导致取出来的值为空的情况,也可以采用我们在 可选型 取值的方法(if let),如下:
1 2 3
| if let value = dic2[1] { print("The Value is \(value)") }
|
- 修改值
- 添加一对新的键值
字典是没有顺序,并且Key不一定是整数
使用 updateValue 更新值
1
| dic1.updateValue("1", forKey: 1)
|
该方法看起来和直接赋值的结果相同,但该方法其实还有一个放回值,这样就可以在更新的同时获取原来的值,如:
1 2 3
| if let oldValue = dic1.updateValue("One", forKey: 1) { print("Old Value is \(oldValue)") }
|
删除元素
- 通过 key 删除元素
1
| dic1.removeValue(forKey: 1)
|
- 删除所有元素
遍历元素
- 通过键来遍历字典
1 2 3
| for item in dic2.keys { print(item) }
|
- 通过值来遍历字典
1 2 3
| for item in dic2.values { print(item) }
|
- 直接遍历字典
1 2 3
| for item in dic2 { print(item) }
|
或
1 2 3
| for (key,value) in dic2 { print("\(key):\(value)") }
|
下一步
接下来,我们将简要的介绍 Swift 中的集合类型 - 集合(Set))。