Swift 字典简单使用

1.字典的定义

在Swift中的字典和我们所使用的《新华字典》是不同的,在Swift中的字典表示的是:一个集合,其元素为键值对

2.创建一个字典

因为字典中的元素为键值对(key:value),所以“键”与“值”的类型可以各自指定可有以下形式:

var dict1 = [1:"one",2:"two",3:"three"]
var dict2:[Int:String] = [1:"one",2:"two",3:"three"]
var dict3:Dictionary<Int,String> = [1:"one",2:"two",3:"three"]

当然也可以定义为空:

var dict4:[Int:String] = [:]
var dict5:Dictionary<Int,String> = [:]
var dict6 = [Int:String]()

3.字典的基本操作

对于字典的一些基本操作可以参考代码:

var dict7 = [1:"one",2:"two",3:"three"]
print(dict7.count)    //长度
print(dict7.isEmpty)    //判断是否为空
print(dict7[1]!)    //取值  (返回值是一个可选型,通过!进行解包)
//字典的特点:1)无序 2)键不能重复
let v1 = [1:"a",2:"b",3:"d"]
let v2 = [2:"b",1:"a",3:"d"]
print(v1 == v2)//判断是否一致
//-----------------
//输出结果为:
//3
//false
//one
//true

4.字典的增删改

字典中的updateValue:如果这个Key当前没有,添加操作;如果当前这个Key存在,修改操作
增删:

//改
var user=["name":"阿龙","age":"19","like":"look you"]
user["like"] = "你笑起来真好看"
print(user)

var updateV = user.updateValue("20",forKey:"age")!//返回原来value的值
if updateV == user["age"]{
    print("修改后的年龄与修改前一样,可能会导致安全问题!")
}
print(user)

//输出结果
//["like": "你笑起来真好看", "name": "阿龙", "age": "19"]
//["like": "你笑起来真好看", "name": "阿龙", "age": "20"]

那么添加也可以用到updateValue

//添加
user["like"] = "money"
user.updateValue("money",forKey:"friend")
print(user)
//输出结果
//["name": "阿龙", "like": "money", "friend": "money", "age": "20"]

//删除
user.removeValue(forKey:"like")
user["like"] = nil //null
print(user)
//输出结果
//["name": "阿龙", "friend": "money", "age": "20"]

5.遍历

用for in 遍历字典:

var dict = [1:"one",2:"two",3:"three"]
for (key, value) in dict1 {
   print("\(key)\(value)")
}

结果为:

1 : one
2 : two
3 : three

特别提示:

https://www.bccn.net/run/

使用网页编程此代码时,会发生顺序错误;作为小白的我也不知道为什么,好奇的朋友可以去试验一下~

6.总结

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

我们所学过的类型已经有:数组set和今天所学的字典,那他们各自的特点有哪些呢?

数组有序的

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

字典key-value对

若有代码、理解错误处请指出,我一定会改哒~

在这里插入图片描述
私信我哦~

此文所用编辑器为网页编译。
点我,我就是网页编译~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值