//字典的定義
```
var dict1=["swift":"雨燕","python":"大蟒","java":"爪哇國"]
//問題:dict1 長度是多少? 3
var dict2:[String:String]=["swift":"雨燕","python":"大蟒","java":"爪哇國"]
var dict3:Dictionary<String,String>=["swift":"雨燕","python":"大蟒","java":"爪哇國"]
//空字典的定義
var empty1:[Int:String]=[:]
var empty2:Dictionary<String,String>=[:]
var empty3=[String:String]()
```
基本操作:長度,判斷是否為空,取值
```
print(dict1.count)
print(dict1.isEmpty)
print(dict1["java"]!)//返回值是一個可選型,通過!進行解包
//字典的特點:1)無序 2)鍵不能重復(fù)
let d1 = [1:"a",2:"b",3:"d"]
let d2 = [2:"b",1:"a",3:"d"]
print(d1==d2)//true?
//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":"yu","pwd":"123","job":"coder"]
user["job"]="student"
print(user)
//user.updateValue("456",forKey:"pwd")//更新值
var old Pwd=user.updateValue("456",forKey:"pwd")!//返回原來value的值
if oldPwd==user["pwd"]{
print("修改后的密碼與修改前一樣,可能會導(dǎo)致安全問題!")
}
print(user)
//添加
user["email"]="56429@qq.com"
user.updateValue("chuzhou",forKey:"location")
print(user)
//刪除
user.removeValue(forKey:"location")
user["email"]=nil //null
print(user)
```
/*
總結(jié):數(shù)組:有序的;
? ? ? ? ? set :無序的、唯一性、交集并集等集合專有的操作速度
? ? ? ? ? 字典:key-value對
*/