Swift 语言简明教程(六) - 字典类型

Swift 语言简明教程(五) - 列表类型 中, 我们了解了 Swift 中列表类型的用法,现在我们来了解一下 Swift 中的字典类型 - Dictionary。

字典用来存储健、值对。

声明及初始化

声明字典[param1:param2]这种结构用于表示字典类型 param1为键类型 param2为值类型, 如:

1
var dic1:[Int:String]

也可以使用:

1
var dic2:Dictionary<Int,String>

这种方式和[:]效果一样 因此:dic2与dic1为相同的类型

在创建字典时,也可以不显示声明字典的类型,可以通过赋初值的方式来使编译器自动推断

1
var dic3 = ["1":"one"]

也可以先声明,再赋值,比如为上面声明的 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 属性

1
dic1.count

判断字典是否为空

使用 isEmpty 属性

1
2
3
if dic4.isEmpty{
print("字典为空")
}

基本存取操作

  1. 通过key获取值
    1
    print(dic1[1])

为了避免字典中不存在某个 Key, 而导致取出来的值为空的情况,也可以采用我们在 可选型 取值的方法(if let),如下:

1
2
3
if let value = dic2[1] {
print("The Value is \(value)")
}
  1. 修改值
1
dic1[1]="0"
  1. 添加一对新的键值
1
dic1[4] = "4"

字典是没有顺序,并且Key不一定是整数

使用 updateValue 更新值

1
dic1.updateValue("1", forKey: 1)

该方法看起来和直接赋值的结果相同,但该方法其实还有一个放回值,这样就可以在更新的同时获取原来的值,如:

1
2
3
if let oldValue = dic1.updateValue("One", forKey: 1) {
print("Old Value is \(oldValue)")
}

删除元素

  1. 通过 key 删除元素
1
dic1.removeValue(forKey: 1)
  1. 删除所有元素
1
dic1.removeAll()

遍历元素

  1. 通过键来遍历字典
1
2
3
for item in dic2.keys {
print(item)
}
  1. 通过值来遍历字典
1
2
3
for item in dic2.values {
print(item)
}
  1. 直接遍历字典
1
2
3
for item in dic2 {
print(item)
}

1
2
3
for (key,value) in dic2 {
print("\(key):\(value)")
}

下一步

接下来,我们将简要的介绍 Swift 中的集合类型 - 集合(Set))

本文标题:Swift 语言简明教程(六) - 字典类型

文章作者:Morning Star

发布时间:2021年04月19日 - 09:04

最后更新:2022年01月15日 - 15:01

原始链接:https://www.mls-tech.info/app/swift/swift-tutorial-6-dictionary/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。