swift学习记录(集合---字典)
来源:互联网 发布:2017淘宝有多少家店铺 编辑:程序博客网 时间:2024/05/24 07:11
字典是一种存储同一种类型多条数据的存储器,以 key(键) - value(值) 的形式存在,每个独立的 key 关联一个 value ,键作为字典中的值的标识符。和数组不同,字典是无序的,通过键访问字典。类似于java中的Map
字典在使用时需要明确存储的键和值类型,方法是通过显示的类型声明或者类型推断。
基本语法
[ key 1 : value 1 , key 2 : value 2 , key 3 : value 3 ]
其中 Key 是字典中键的数据类型,Value是字典中对应于键的值的数据类型。
声明字典:
var capitals : Dictionary<String, String> = ["中国": "北京", "韩国": "汉城","朝鲜":"平壤"] //显示指定数据类型var provincialCapital = ["陕西":"西安","甘肃":"兰州","宁夏":"银川"] //根据数据推断其类型
count 属性
和数组一样通过count属性获取字典中元素的数量
var provincialCapital = ["陕西":"西安","甘肃":"兰州","宁夏":"银川"]var count = provincialCapital.countprint("count is \(count)")//count is 3isEmpty属性
和数组一样通过 isEmpty属性来判断字典是否为空
var provincialCapital = ["陕西":"西安","甘肃":"兰州","宁夏":"银川"]var empty = provincialCapital.isEmptyprint("empty is \(empty)")//empty is false
基本操作:
1,通过key 来进行增、删、改、查
var capitals : Dictionary<String, String> = ["中国": "北京", "韩国": "汉城","朝鲜":"平壤"] //增capitals["英国"] = "伦敦"print("插入一个键值对之后的字典: \(capitals)")//删capitals["韩国"] = nilprint("删除一个键值对之后的字典:\(capitals)")//改capitals["朝鲜"] = "不知道哦"print("修改一个数据之后的字典:\(capitals)")//查var china = capitals["中国"]var usa = capitals["美国"]print("查询的结果 中国:\(china) ,美国: \(usa)")//插入一个键值对之后的字典: ["朝鲜": "平壤", "英国": "伦敦", "中国": "北京", "韩国": "汉城"]//删除一个键值对之后的字典:["朝鲜": "平壤", "英国": "伦敦", "中国": "北京"]//修改一个数据之后的字典:["朝鲜": "不知道哦", "英国": "伦敦", "中国": "北京"]//查询的结果 中国:Optional("北京") ,美国: nil从上面的代码可以看到,增和改的写法一样。两者的区别在于"key"。如果该key在字典中已经从在,则改变原来所对应的值,如果不存在,则新增一个键值对到字典里。
2,使用 updateValue(forKey:)进行 增和改的操作
var capitals : Dictionary<String, String> = ["中国": "北京", "韩国": "汉城","朝鲜":"平壤"]//增var value1 = capitals.updateValue("亚丁", forKey: "也门")print("新增一条数据之后的字典:\(capitals) ,返回的数据 为\(value1)")//改var value2 = capitals.updateValue("不知道哦", forKey:"朝鲜")print("修改一条数据之后的字典:\(capitals) ,返回的数据 为 \(value2)")//新增一条数据之后的字典:["朝鲜": "平壤", "也门": "亚丁", "中国": "北京", "韩国": "汉城"] ,返回的数据 为nil//修改一条数据之后的字典:["朝鲜": "不知道哦", "也门": "亚丁", "中国": "北京", "韩国": "汉城"] ,返回的数据 为 Optional("平壤")
updateValue(forKey:) 方法在 forKey 不存在对应值的时候增加值,存在的时候修改对应已存在的值。
新增的时候返回值为 nil ,修改的时候返回值为该 key 所对应的原来的值,是可选类型。
3,使用 removeValueForKey 方法 删除一个值
var capitals : Dictionary<String, String> = ["中国": "北京", "韩国": "汉城","朝鲜":"平壤"]var value = capitals.removeValueForKey("韩国")var value1 = capitals.removeValueForKey("美国")print("移除之后的字典:\(capitals) ,value = \(value),value = \(value1)")//移除之后的字典:["中国": "北京", "朝鲜": "平壤"] ,value = Optional("汉城"),value = nilremoveValueForKey 方法,当传入的key 在 字典中存在时移除key所对应的值,并且返回该移除的值,为可选类型。如果不存在,则返回 nil。
4,字典的遍历
4.1使用 for-in 循环来遍历字典中的键值对
var capitals = ["中国": "北京", "韩国": "汉城","朝鲜":"平壤"]for (Country, capital) in capitals { print("\(Country): \(capital)")}//中国: 北京//韩国: 汉城//朝鲜: 平壤4.2 通过访问字典的 keys 或者 values 属性(都是可遍历的集合)遍历字典的键或值
var capitals = ["中国": "北京", "韩国": "汉城","朝鲜":"平壤"]for country in capitals.keys { print("\(country)")}//中国//韩国//朝鲜for capital in capitals.values{ print("\(capital)")}//北京//汉城//平壤
4.3将字典的键或者值转为 数组
var capitals = ["中国": "北京", "韩国": "汉城","朝鲜":"平壤"]var countrys = Array(capitals.keys)var capital = Array(capitals.values)
0 0
- swift学习记录(集合---字典)
- swift学习记录03-集合:数组、字典
- swift 学习记录(集合---数组)
- Swift学习笔记第三篇(字符串,数组,集合,字典)
- swift基础学习(03)[数组、集合、字典]
- Swift集合类型(数组和字典)
- Swift集合类型(数组和字典)
- Swift字典集合
- 《从零开始学Swift》学习笔记(Day 16)——字典集合
- 《从零开始学Swift》学习笔记(Day 16)——字典集合
- Swift学习记录 -- 8.字典的基本操作
- Swift数组、字典和集合
- swift学习(三)array 和 字典
- swift学习之路(十)字典
- Swift学习:8.字典
- swift 学习<四> 字典
- Swift 基础学习(字典)
- swift Dictionary 字典学习
- C++学习建议(抄袭啊)
- ListView的ITEM点击出现白色背景的解决方法
- ListView 原理 图片缓存 优化
- 多线程、并发及线程的基础问题
- Foundation-NSArray
- swift学习记录(集合---字典)
- redis集群部署
- MySql4MAC
- 提高数据易用性(9)-“数据条”充当雷达图
- ACM之1521
- linux mysql 中大小写敏感问题
- 安卓socket聊天,端口被占用问题(附:socket聊天代码)(一)
- Ubuntu下安装mysql过程记录
- html5绘图