0. 字典的介绍
字典允许按照某个键来访问元素。
字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合。
键集合是不能有重复元素的,值集合是可以重复的,键值是成对出现的。
Swift中字典类型是Dictionary,也是一个泛型集合。
1.如何定义字典
1>定义不可变字典:使用let修饰
let a : Int = 10
//编译器会根据[]中是一个个元素(数组),还是键值对(字典)
//let dict = ["name" : "why", "age" : 18, "height" : 1.88] as [String : Any]
//let dict = ["123" : "321", "abc" : "cba"]不需要进行转化
// Array --> [String]
// let dict : Dictionary = ["name" : "why", "age" : 18, "height" : 1.88]
// dict["phoneNum"] = "+86 110"错误写法
let dict : [String:Any] = ["name":"why","age":18,"height":1.88]
2>定义可变字典:使用var修饰
// var arrayM = [String]()
// var dictM = Dictionary()
var dictM = [String:Any]()
2.对可变字典的基本操作(增删改查)
2.1.添加元素
dictM["name"] = "aaa"
dictM["age"] = 18
dictM["height"] = 1.88
2.2.删除元素
dictM.removeValue(forKey:"height")
2.3.修改元素
dictM["name"] ="aaa"
dictM.updateValue("bbb", forKey:"name")
2.4.查找元素
dictM["age"]
3.遍历字典
3.1.遍历字典中所有的key
for key in dict.keys{
print(key)
}
3.2.遍历字典中所有的value
for value in dict.values{
print(value)
}
3.3.遍历字典中所有的key/value
for (key, value) in dict{
print(key, value)
}
4.字典合并
var dict1 : [String:Any] = ["name":"ccc","age":18]
let dict2 : [String:Any] = ["height":1.88,"phoneNum":"+86 110"]
//let resultDict = dict1 + dict2 //(不可以)
for (key, value) in dict2{
dict1[key] = value
}