10.Swift学习之字典

简介: 字典的介绍字典是由键值(key:value)对组成的集合字典中的元素之间是无序的字典是由两部分集合构成的,一个是键集合,一个是值集合字典是通过访问键间接访问值的键集合是不能有重复元素的,而值集合是可以重复的Swift中的字典类型是Dict...

字典的介绍

  • 字典是由键值(key:value)对组成的集合
  • 字典中的元素之间是无序的
  • 字典是由两部分集合构成的,一个是键集合,一个是值集合
  • 字典是通过访问键间接访问值的
  • 键集合是不能有重复元素的,而值集合是可以重复的
  • Swift中的字典类型是Dictionary,也是一个泛型集合

字典的初始化

  • Swift中的可变和不可变字典
    • 使用let修饰的字典是不可变字典
    • 使用var修饰的字典是可变字典
// 定义一个可变字典
var dict1 : [String : Any] = [String : Any]()

// 定义一个不可变字典
let dict2 : [String : Any] = ["name" : "zhangsan", "age" : 18]
  • 在声明一个Dictionary类型的时候可以使用下面的语句之一
var dict1: Dictionary<Int, String>

var dict2: [Int: String]
  • 声明的字典需要进行初始化才能使用,字典类型往往是在声明的同时进行初始化的
// 定时字典的同时,进行初始化
var dict:[String : Any] = ["name" : "zhangsan", "age" : 18]

// Swift中任意类型用Any表示
var dict : Dictionary<String, Any>

dict = ["name" : "zhangsan", "age" : 18]

字典的基本操作

  • 获取长度
dict.count
  • 判空
dict.isEmpty
  • 添加数据
dict["height"] = 1.80
dict["weight"] = 70.0
print(dict)
  • 删除字段
dict.removeValue(forKey: "height")
print(dict)
  • 修改字典
//方式一
dict["name"] = "lisi"
//方式二
dict.updateValue("lisi", forKey: "name")
print(dict)
  • 查询字典
// 可选型
dict["name"]

字典的遍历

  • 遍历字典中所有的值
for value in dict.values {
    print(value)
}
  • 遍历字典中所有的键
for key in dict.keys {
    print(key)
}
  • 遍历所有的键值对
//常用
for (key, value) in dict {
    print("\(key) --- \(value)")
}
  • 枚举方式遍历
//输出的不是key-value,而是索引和(key:value)
for (index, value) in dic.enumerated() {
    print("\(index) -- \(value)")
    //0 -- (key: "name", value: "zhangsan") 
    //1 -- (key: "age", value: 18)
}

字典的合并

// 字典的合并
var dict1: [String : Any] = ["name" : "zhangsan", "age" : 20]
var dict2: [String : Any] = ["height" : 1.80, "phoneNum" : "18888888888"]
// 字典合并不能像数组那样直接用+
for (key, value) in dict2 {
    dict1[key] = value
}
print(dict1) //["phoneNum": "18888888888", "name": "zhangsan", "age": 20, "height": 1.8]
目录
相关文章
|
3月前
|
存储 Swift
在Swift编程语言中,字典(Dictionary)
在Swift编程语言中,字典(Dictionary)
34 3
|
6月前
|
Swift
22 Swift中的字典
Swift中的字典
35 0
|
3月前
|
存储 Swift
在Swift编程语言中,字典(Dictionary)
在Swift编程语言中,字典(Dictionary)
295 3
|
4月前
|
存储 Swift
在Swift中,数组(Arrays)和字典
在Swift中,数组(Arrays)和字典
27 1
|
Swift 索引
Swift - 字典排序方法
Swift - 字典排序方法
129 0
|
Swift
Swift - 字典
Swift - 字典
65 0
|
Swift 索引
Swift实用小册04:数组、集合和字典的使用
Swift实用小册04:数组、集合和字典的使用
203 0
Swift实用小册04:数组、集合和字典的使用
|
Swift
(一)swift的基本学习
(一)swift的基本学习
136 0
|
开发工具 Swift iOS开发
Swift学习第二练——Swift项目时光电影
Swift学习第二练——Swift项目时光电影
126 0
Swift学习第二练——Swift项目时光电影
|
Swift 开发者 iOS开发
Swift学习第一练——用Swift实现的FlappyBird小游戏
Swift学习第一练——用Swift实现的FlappyBird小游戏
165 0
Swift学习第一练——用Swift实现的FlappyBird小游戏