swift 集合类型(二)
说到swift的集合类型,就不得不谈到Dictionary。包含一个键值对组合的集合。
1 2 | var air = [ "name" : "warner" , "title" : "Math" ] var air = Dictionary<String,String>(minimumCapacity:3) |
都可以初始化Dictionary。在swift中,Dictionary其实是一个结构:struct,继承自Collection。而Collection是一种协议protocol。他们都不是Object
Dictionary有subscript声明,所以可以直接使用下标来获取或者设置key的value。
1 | air[ "son" ] = "edward" |
像上面这种通过下标来指定value的写法,如果存在该key,则直接改写value,否则,新增这个key-value pairs。另外,还提供了比较鸡肋的一种改变value的方法:
1 | air.updateValue( "andrew" , forKey: "son" ) |
与之前的直接通过下标修改value的作用是一样的。
同时,也可以通过下标的形式来移除对应的key
1 | air[ "son" ] = nil |
上面的写法,会直接把son这个key从Dictionary中移除。另外,也可以通过removeValueForKey方法来移除
1 | air.removeValueForKey( "son" ) |
结果一样的。
遍历整个数据集合的方法与数组类似:
1 2 3 | for (key,val) in air{ println( "\(key):\(val)" ) } |
Dictionary还有2个比较有意思的属性,可以直接以数组形式拿到整个Dictionary的keys和values
1 2 3 4 5 6 | for key in air.keys{ println( "\(key)" ) } for val in air.values{ println( "\(val)" ) } |
总结:
1)Dictionary与json似是而非。通过构造函数初始化必须指定key与value的数据类型,否则值就得指定至少一对key-value pairs。用来确定这个Dictionary的数据类型。
2)可以通过下标来确定对应的key,用来增加或者删除pairs.
3)可以直接拉取整个dictionary的keys或者values,来作为数组操作。
4)可以使用removeAll方法来清空整个Dictionary.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步