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:Dictionary<String,String> = [:]

var empty3 = [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":"miao","pwd":"123","job":"coder"]

user["job"] = "teacher"

print(user)

//user.updateValue("456",forKey:"pwd")//更新值

var oldPwd = user.updateValue("456",forKey:"pwd")!//返回原来value的值

if oldPwd == user["pwd"]{

    print("修改后的密码与修改前一样,可能会导致安全问题!")

}

print(user)

//添加

user["email"] = "56429@qq.com"

user.updateValue("chuzhou",forKey:"location")

print(user)

//删除

user.removeValue(forKey:"location")

user["email"] = nil //null

print(user)

总结:什么时候我们采用哪种类型?

数组:有序的;

set: 无序、唯一性、交集并集等集合专有的操作速度高

字典:key-value对

//for in遍历

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

推荐阅读更多精彩内容

  • Swift 字典用来存储无序的相同类型数据的集合,Swift 字典会强制检测元素的类型,如果类型不同则会报错。 S...
    零度_不结冰阅读 662评论 0 1
  • @(〓〓 iOS-Swift语法)[Swift 语法] 作者: Liwx 邮箱: 1032282633@qq.c...
    Liwx阅读 673评论 0 0
  • Swift 字典是结构体,无序的数据集合,字典的key没有类型限制可以是整型或字符串,但必须是唯一的。 1.创建字...
    我有小尾巴快看阅读 449评论 0 1
  • Swift中另一个关键的数据结构Dictionary,字典。字典包含键以及它们所对应的值。在一个字典中,每个键都只...
    为自己丶拼个未来阅读 1,540评论 0 2
  • Swift中的字典类型是Dictionary,泛型集合。var修饰是可变字典,let修饰时可变字典 声明字典类型:...
    青菜白玉堂阅读 2,011评论 0 1