swift -- 字典
1. 创建一个空字典
方式一:
var dic1 = [Int : String]() //key的类型为Int ,value的类型为String
方式二:
var dic2 = Dictionary<Sting,Int>() //key的类型为Sting
//oc 使用@{}
//swift 还是使用[]
//key value
let dict:[String : Any] = ["name":"xiaoming","age":11]
print(dict)
//包含字典的数组
let array:[[String:Any]] = [["name":"张","age":11],
["name":"a","age":22]];
2.用字面量创建字典
var dic3 : Dictionary<Int,String> = [1 : "a" , 2 : "b",3 : "c"]
3.获取元素个数
print(dic3.count)
4.是否为空
print(dic3.isEmpty)
5.获取值
print(dic3[2]!) // !转换可选类型
6.更改值
dic3[2] = "abc"
//key不存在就是新增,存在就是西瓜
7.删除值
方式一:
dic3[2] = nil //因为字典中元素为可选类型,所以可以直接nil
方式二:
dic.removeValue(forKey: "age")
8.遍历字典
方式一:
for kv in dic3{
print(kv) //元组的格式 :(1,"a")
(key: "name", value: "xiaoming")
}
方式二:
for (mKey,mValue) in dic3{
print(mKey,mValue)
}
9.字典的有序输出(小-->大)
for key in dic3.keys.sort(){
print(key,dic3[key])
}
10.合并
//4.合并
func demo4() {
var dic1:[String:Any] = ["name":"xiaoming","age":11];
var dic2:[String:Any] = ["111":"xiaoming","222":11];
//将dic2 合并到dic1(不能直接想加 d2+d1)
for e in dic2 {
dic1[e.key] = dic2[e.key];
//key存在,会修改 ,可以不存在,会新增
}
}