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) //打印数组长度
print(dict1.isEmpty) //判断值是否为空
print(dict1[1]!) //取值 (返回值是一个可选型,通过!进行解包)
//字典的特点:
1)无序
2)键不能重复
let d1 = [1:"a",2:"b",3:"d"]
let d2 = [2:"b",1:"a",3:"d"]
print(d1==d2)//判断是否一致
以上程序执行输出结果为:
3
false
one
true
4、遍历字典(每个key对应唯一一个 value值)
var dict1 = [1:"one",2:"two",3:"three"]
for (key, value) in dict1 {
print(" key (key) - value (value)")
}
以上程序执行输出结果为:
key 1 - value one
key 2 - value two
key 3 - value three
5、增删改
// updateValue有两种不同意义的操作
(1)如果这个Key当前不存在,updateValue进行添加操作;
(2)如果当前这个Key存在,updateValue进行修改操作;
//改
var user=["name":"柯","pwd":"123","like":"music"]
user["like"] = "sleep"//修改like中对应的play改为sleep
print(user)
//user.updateValue("456",forKey:"pwd")//更新值
var oldPwd = user.updateValue("456",forKey:"pwd")!//返回原来value的值
if oldPwd == user["pwd"]{
print("修改后的密码与修改前一样,可能会导致安全问题!")
}
print(user)
//添加
user["email"] = "[123456@qq.com]"
user.updateValue("Fuyang",forKey:"location")
print(user)
//删除
user.removeValue(forKey:"like")
user["like"] = nil //null
print(user)
总结:什么时候我们采用哪种类型?
数组:有序的;
set: 无序、唯一性、交集并集等集合专有的操作速度高
字典:key-value对