swift之字典

字典的定义

var dict1 = ["swift":"大海","python":"海燕","java":"狂风"]
//问题:dict1 长度是多少? 3
var dict2:[String:String] = ["swift":"大海","python":"海燕","java":"爪哇国"]
var dict3:Dictionary<String,String> = ["swift":"大海","python":"海燕","java":"爪哇国"]

//空字典的定义
var empty1:[Int:String] = [:]
var empty2=[String:String]()
var empty3:Dictionary<String,String> = [:]

基本操作:长度,判断是否为空,取值

print(dict1.count)
print(dict1.isEmpty)
print(dict1["java"]!)//返回值是一个可选值,通过!进行解包

//字典的特点:1.无序 2.键不能重复
let d1 = [1:"a",2:"b",3:"d"]
let d2 = [2:"b",1:"a",3:"d"]
print(d1==d2)//true

//let d3  [2:"b",1:"a",3:"d",3:"e"]  报错

遍历 key,value,key-value

for key in dict1.keys{
    print(key)
}
for value in dict1.values{
    print(value)
}
for (key,value) in dict1{
    print(key,value)
}

增删改查

//如果这个key当前没有,添加操作,如果当前存在Key,修改操作

//改
var user=["name":"yue","pwd":"123","job":"coder"]
user["job"] = "student"
print(user)
//user.updateValue("456",forKey:"pwd")//更新值
var oldPwd = user.updateValue("456",forKey:"pwd")!//返回原来value的值
if oldPwd == user["pwd"]{
    print("修改密码和原来的密码一样,可能导致安全问题!")
}
print(user)

//增
user["email"] = "38243@qq.com"
user.updateValue("fuyang",forKey:"location")
print(user)

//删除
user.removeValue(forKey:"location")
user["email"] = nil //null
print(user)

总结:什么时候我们采用哪种类型?
数组:有序性;
Set:无序、唯一性、交集并集等集合专有的操作速度高
字典:Key-value对

//for 遍历

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 字典的定义 基本操作:长度,判断是否为空,取值 遍历-遍历Key,value,key-value对 增删改查 总结...
    豌豆_b314阅读 2,905评论 0 6
  • 字典的定义 基本操作:长度,判断是否为空,取值 遍历-遍历Key,value,key-value对 增删改查 //...
    duan00阅读 1,558评论 0 0
  • 定义字典 ``` // 定义可变字典 var dict1 : [String : NSObject] = [Str...
    南川北鱼IT阅读 1,598评论 0 1
  • OC中有个可变字典和不可变字典。swift中就是let和var来区分可变和不可变的。 新增 修改 如果key存在就...
    oh_flying阅读 10,750评论 1 1
  • 1.嫁个老公是色狼 --(4637字) 当柯正东的电话铃声响起时,绵绵前一脚刚好踏出公司的大门。他让她先别走,他一...
    粟殇阅读 73,123评论 0 5

友情链接更多精彩内容