Swift之字典

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对

作者:柯书乐
链接:https://www.jianshu.com/writer#/notebooks/44404119/notes/65355165
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 定义字典 ``` // 定义可变字典 var dict1 : [String : NSObject] = [Str...
    南川北鱼IT阅读 228评论 0 1
  • //字典的定义 ``` var dict1=["swift":"雨燕","python":"大蟒","java":...
    清梦_c437阅读 234评论 0 0
  • 1、定义字典 2、定义空字典 3、基本操作 以上程序执行输出结果为: 4、遍历字典(每个key对应唯一一个 val...
    LO_4eb3阅读 214评论 0 0
  • 1、定义字典(3种方法) 2、定义空字典(3种方法) 3、基本操作 以上程序执行输出结果为: 4、遍历字典(每个k...
    把想说的话藏进眼睛里阅读 868评论 2 1
  • 1、字典的定义 2、空字典的定义 3、基本操作 4、遍历 5、增删改查 字典里面修改一个元素 字典里面删除一个元素...
    春风不羡_1b34阅读 228评论 0 1