1.自定義字典
//MARK: - 自定義字典
func demo()
{
//OC 定義字典 {}
//swift 定義字典 []
// [Key : Value] --> let dic: [String : String]
let dict = ["name" : "張三" , "age" : 18]
print(dict) //輸出結(jié)果 : ["name": "張三", "age": "18"]
}
2.字典的增-刪-改
//MARK: - 增-刪-改
func demo()
{
//可變 var 不可變 let
var dict = ["name" : "張三" , "age" : 18]
//新增 (如果KEY不存在則是新增)
dict["name2"] = "李四"
print(dict) //輸出結(jié)果 : ["name": "張三", "age": "18", "name2": "李四"]
//修改 (在字典中是通過KEY取值的,KEY是唯一的)
dict["name"] = "王五"
print(dict) //輸出結(jié)果 : ["name": "王五", "age": "18", "name2": "李四"]
//刪除
//字典是通過KEY來(lái)定位值得,KEY必須是可以 ' hash ' 的,MD5是一種
//hash就是將字符串變成唯一的整數(shù),便于查找,提高字典遍歷的效率
dict.removeValue(forKey: "age")
print(dict) //輸出結(jié)果 : ["name": "王五", "name2": "李四"]
}
3.遍歷字典
//MARK: - 遍歷字典
func demo()
{
let dict = ["name" : "張三" , "age" : 18]
for i in dict
{
print(i)
/* 輸出結(jié)果:
("name", "張三")
("age", "18")
*/
//key和值都可以取到
print("\(i.key) \(i.value)")
}
//具體名字自定義
for (key, value) in dict
{
print("\(key) \(value)") //效果同上
}
}
4.合并字典
//MARK: - 合并字典
func demo()
{
var dict1 = ["name" : "張三" , "age" : 18 ,"title" : "經(jīng)理"]
let dict2 = ["name" : "李四" , "age" : 19]
//將dict2合并到dict1
//字典不能直接相加 dict1 += dict2
for i in dict2
{
//將dict2的key內(nèi)容添加到dict1中 如果存在則替換,如果不存在則添加
dict1[i.key] = dict2[i.key]
}
print(dict1) //輸出結(jié)果 : ["name": 李四, "age": 19, "title": 經(jīng)理]
}