1、定義字典
var dict1 = [a:"1",b:"2",c:"3"]//第一種
var dict2:[Int:String] = [a:"1",b:"2",c:"3"]//第二種
var dict3:Dictionary = [a:"1",b:"2",c:"3"]//第三種
2利朵、定義空字典
var d1:[Int:String] = [:]//第一種
var d2:Dictionary = [:]//第二種
var d3 = [Int:String]//第三種
3蹂季、基本操作
var dict1 = [a:"1",b:"2",c:"3"]
print(dict1.count) //打印數(shù)組長(zhǎng)度
print(dict1.isEmpty) //判斷值是否為空
print(dict1[1]!) //取值 (返回值是一個(gè)可選型蒿赢,通過(guò)!進(jìn)行解包)
//字典的特點(diǎn):
1)無(wú)序
2)鍵不能重復(fù)
let d1 = [1:"a",2:"b",3:"d"]
let d2 = [2:"b",1:"a",3:"d"]
print(d1==d2)//判斷是否一致
以上程序執(zhí)行輸出結(jié)果為:
3
false
one
true
4腺怯、遍歷字典(每個(gè)key對(duì)應(yīng)唯一一個(gè) value值)
var dict1 = [1:"one",2:"two",3:"three"]
for (key, value) in dict1 {
print(" key (key) - value (value)")
}
以上程序執(zhí)行輸出結(jié)果為:
key 1 - value one
key 2 - value two
key 3 - value three
5轨奄、增刪改
// updateValue有兩種不同意義的操作
(1)如果這個(gè)Key當(dāng)前不存在裳仆,updateValue進(jìn)行添加操作氓侧;
(2)如果當(dāng)前這個(gè)Key存在脊另,updateValue進(jìn)行修改操作;
//改
var user=["name":"柯","pwd":"123","like":"music"]
user["like"] = "sleep"http://修改like中對(duì)應(yīng)的play改為sleep
print(user)
//user.updateValue("456",forKey:"pwd")//更新值
var oldPwd = user.updateValue("456",forKey:"pwd")!//返回原來(lái)value的值
if oldPwd == user["pwd"]{
print("修改后的密碼與修改前一樣约巷,可能會(huì)導(dǎo)致安全問(wèn)題偎痛!")
}
print(user)
//添加
user["email"] = "[123456@qq.com]"
user.updateValue("Fuyang",forKey:"location")
print(user)
//刪除
user.removeValue(forKey:"like")
user["like"] = nil //null
print(user)
總結(jié):什么時(shí)候我們采用哪種類(lèi)型?
數(shù)組:有序的独郎;
set: 無(wú)序踩麦、唯一性枚赡、交集并集等集合專(zhuān)有的操作速度高
字典:key-value對(duì)
作者:柯書(shū)樂(lè)
鏈接:http://www.reibang.com/p/bf6a986fb536
來(lái)源:簡(jiǎn)書(shū)
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)谓谦,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處贫橙。