Swift字典用來存儲(chǔ)無序的镊叁,相同類型的數(shù)據(jù)的集合柠辞。Swift字典會(huì)自動(dòng)檢測(cè)元素的類型团秽,如果不同,則會(huì)報(bào)錯(cuò)叭首。字典的每個(gè)值(value)都會(huì)關(guān)聯(lián)唯一的一個(gè)鍵(key)习勤,鍵作為字典中的這個(gè)值數(shù)據(jù)的標(biāo)識(shí)符。Swift字典的key沒有類型限制焙格,可以是整型或者字符串图毕,但必須是唯一的。
字典創(chuàng)建
var dict = ["panda":"大熊貓", "dog":"狗", "eagle":"鷹", "pigeon":"鴿子"]
//也可以聲明字典的鍵值類型
//var dict: [String:String]
//var dict: Dictionary<String, String>
創(chuàng)建空字典
var emptyDictionary:[String:Int] = [:]
var emptyDictionary:Dictionary<Int,String> = [:]
var emptyDictionary = [String:String]()
var emptyDictionary = Dictionary<Int,Int>()
字典的訪問
dict["panda"] //"大熊貓"
if let value = dict["panda"] {
print("panda 的意思是 - \(value)")
}
獲取鍵值對(duì)的數(shù)量
dict.count //4
判空
dict.isEmpty //false
獲取字典中的所有鍵/值
dict.keys
dict.values
Array(dict.keys) //["panda", "eagle", "dog", "pigeon"]
Array(dict.values) //["大熊貓", "狗", "鷹", "鴿子"]
遍歷
for key in dict.keys {
print(key)
}
for (key, value) in dict {
print("\(key) : \(value)")
}
for (key, value) in dict.enumerate() {
print("字典 key \(key) - 字典 (key, value) 對(duì) \(value)")
}
比較眷唉,當(dāng)兩個(gè)字典所有鍵值對(duì)均相同時(shí)予颤,則兩個(gè)字典相等
var dic1 [Int:String] = [1:"A", 2:"b"]
var dic2 Dictionary<Int:String> = [2:"b", 1:"A"]
dic2 == dic1 //true
添加鍵值對(duì)
dict["mouse"] = "老鼠"
dict.updateValue("狐貍", forKey: "fox")
//["panda":"大熊貓", "fox":"狐貍", "dog":"狗", "eagle":"鷹", "pigeon":"鴿子", "mouse":"老鼠"]
修改值
dict["fox"] = "欺騙"
dict.updateValue("鼠標(biāo)", forKey: "mouse")
//["panda":"大熊貓", "fox":"欺騙", "dog":"狗", "eagle":"鷹", "pigeon":"鴿子", "mouse":"鼠標(biāo)"]
刪除鍵值對(duì)
dict["fox"] = nil
dict.removeValue(forKey: "dog")
//["panda":"大熊貓", "eagle":"鷹", "pigeon":"鴿子", "mouse":"鼠標(biāo)"]
dict.removeAll() //移除所有鍵值對(duì)