Swift 字典 Dictionary 集合类型

Posted Lucky_William

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift 字典 Dictionary 集合类型相关的知识,希望对你有一定的参考价值。

Swift 字典 Dictionary 集合类型

Dictionary 字典集合类型。类似于 Java 的 map。特点:键唯一,值可重复

1. 创建字典


// 创建空字典
var emptyDict1: [Int : String] = [:]
var emptyDict2: Dictionary<Int, String> = Dictionary()

// 指定键值类型
var dict: [Int : String] = [0: "Zero", 1: "One", 2: "Two"]
var dict2: Dictionary<Int, String> = Dictionary(dictionaryLiteral: (1, "One"), (2, "Two"))

// 自动推断键值类型
var dictAuto = [0: "Zero", 1: "One", 2: "Two"]

2. 获取元素


// 获取元素个数
dict.count // 3

// 判断字典为空
dict.isEmpty // false

// 获取键对应的值
dict[1] // One

3. 更新键值对


// 修改键对应的值
dict[0] = "000" // 000

// 如果键存在,就更新,否则就新增键值对
dict[-1] = "-1" // -1

// 更新键对应的值,如果键不存在,返回 nil
if let lastValue = dict.updateValue("new one", forKey: 1) {
    print("the last value is \\(lastValue)") // the last value is One
}

// 移除键值对
dict.removeValue(forKey: -1) // -1

// 移除所有键值对
//dict.removeAll()

4. 遍历字典


// dict [1: "new one", 2: "Two", 0: "000"]

// 遍历字典的键
for ele in dict.keys {
    print(ele)
}

// 遍历字典的值
for ele in dict.values {
    print(ele)
}

// 元组遍历,直接获取键值对
for (key, val) in dict {
    print("\\(key):\\(val)")
}

// 对 key 进行从小到大排序后遍历,并对值进行拆包
for ele in dict.keys.sorted(by: <) {
    print(dict[ele]!)
}

GitHub 源码:DictionaryType.playground

以上是关于Swift 字典 Dictionary 集合类型的主要内容,如果未能解决你的问题,请参考以下文章

Swift学习笔记之---Dictionary字典

Swift学习笔记之---Dictionary字典

swift资源库—3—字典/集合/数组

《从零开始学Swift》学习笔记(Day 16)——字典集合

通过引用定义类型和副本的 Swift 集合?

Swift学习笔记 - 教程学习三 集合类型 (Collection Types)