字典的定義
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"]!)//返回值是一個可選型芒划,通過!進(jìn)行解包
//字典的特點: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當(dāng)前沒有,添加操作;如果當(dāng)前這個Key存在续膳,修改操作
//改
var user=["name":"miao","pwd":"123","job":"coder"]
user["job"] = "teacher"
print(user)
//user.updateValue("456",forKey:"pwd")//更新值
var oldPwd = 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對
//for in遍歷