字典的定义
```
var dict1 = ["Swfit":"雨燕","python":"蟒蛇","java":"爪洼国"]
```
dict1 长度是多少
```
var dict2:[String:String] = ["swift":"雨燕","python":"大蟒","java":"爪哇国"]
var dict3:Dictionary<String,String> = ["swift":"雨燕","python":"大蟒","java":"爪哇国"]
print(dict3)
```
空字典的定义
```
var empty1:[Int:String] = [:]
var empty2:Dictionary<String,String> = [:]
var empty3 = [String:String]()
```
基本操作:长度,判断是否为空,取值
```
print(dict1.count)
print(dict1.isEmpty)
print(dict1["java"]!)
```
返回值是可选型,通过 进行解包
字典的特点:1)无序 2)不能重复
```
let d1 = [1:"a",2:"b",3:"d"]
let d2 = [2:"b",1:"a",3:"d"]
//d1==d2,返回值为true
print(d1==d2)
```
以下代码报错
```
let d3 = [2:"b",1:"a",3:"d",3:"e"]
```
遍历-遍历Key,value,key-value对
```
for key in dict1.keys{
print(key)
}
for value in dict1.values{
print(value)
}
for (key,value) in dict1{
print(key,value)
}
```
//增删改查
//如果这个Key当前没有,添加操作;如果当前这个Key存在,修改操作
```
//改
var user=["name":"ddd","pwd":"555","job":"hhh"]
user["job"] = "studint"
print(user)
//user.updateValue("666",forKey:"pwd")//更新值
var oldPwd = user.updateValue("456",forKey:"pwd")!//返回原来value的值
if oldPwd == user["pwd"]{
print("l两次的密码一样,请再三考虑")
}
print(user)
```
添加
```
user["email"] = "18256700114@168.com"
user.updateValue("bozhou",forKey:"location")
print(user)
```
删除
```
user.removeValue(forKey:"location")
user["email"] = nil //null
print(user)
```