字典的定義
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"]!)//返回值是一個(gè)可選型拧晕,通過!進(jìn)行解包
//字典的特點(diǎ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"] --報(bào)錯(cuò)
遍歷-遍歷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)
}
增刪改查
//如果這個(gè)Key當(dāng)前沒有,添加操作梅垄;如果當(dāng)前這個(gè)Key存在厂捞,修改操作
//改
var user=["name":"wei","pwd":"123","job":"coder"]
user["job"] = "student"
print(user)
//user.updateValue("456",forKey:"pwd")//更新值
var oldPwd = user.updateValue("456",forKey:"pwd")!//返回原來value的值
if oldPwd == user["pwd"]{
print("修改后的密碼與修改前一樣,可能會(huì)導(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對