1.自定义字典
//MARK: - 自定义字典
func demo()
{
//OC 定义字典 {}
//swift 定义字典 []
// [Key : Value] --> let dic: [String : String]
let dict = ["name" : "张三" , "age" : 18]
print(dict) //输出结果 : ["name": "张三", "age": "18"]
}
2.字典的增-删-改
//MARK: - 增-删-改
func demo()
{
//可变 var 不可变 let
var dict = ["name" : "张三" , "age" : 18]
//新增 (如果KEY不存在则是新增)
dict["name2"] = "李四"
print(dict) //输出结果 : ["name": "张三", "age": "18", "name2": "李四"]
//修改 (在字典中是通过KEY取值的,KEY是唯一的)
dict["name"] = "王五"
print(dict) //输出结果 : ["name": "王五", "age": "18", "name2": "李四"]
//删除
//字典是通过KEY来定位值得,KEY必须是可以 ' hash ' 的,MD5是一种
//hash就是将字符串变成唯一的整数,便于查找,提高字典遍历的效率
dict.removeValue(forKey: "age")
print(dict) //输出结果 : ["name": "王五", "name2": "李四"]
}
3.遍历字典
//MARK: - 遍历字典
func demo()
{
let dict = ["name" : "张三" , "age" : 18]
for i in dict
{
print(i)
/* 输出结果:
("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" : "经理"]
let dict2 = ["name" : "李四" , "age" : 19]
//将dict2合并到dict1
//字典不能直接相加 dict1 += dict2
for i in dict2
{
//将dict2的key内容添加到dict1中 如果存在则替换,如果不存在则添加
dict1[i.key] = dict2[i.key]
}
print(dict1) //输出结果 : ["name": 李四, "age": 19, "title": 经理]
}