Swift基础篇——字典

  • 字典存储的数据是键和值的数据对
  • 所存储的数据中,键和值可以是任意数据类型,包括基础的数据类型,但字典对键的数据类型有一个要求,即键的数据类型要是可以哈希化的
  • 一个字典只能存储固定一种键和值的数据类型搭配

声明字典

//隐式声明字典所存储的数据类型
var dictionary = [1:"a",2:"b",3:"c"]
//显式声明字典所存储的数据类型
var dictionary1:Dictionary = [1:"a",2:"b",3:"c"]
var dictionary2:[Int:String] = [1:"a",2:"b",3:"c"]

//声明一个空的字典
var dic = [Int:String]()
var dic1 = Dictionary()

常用操作

//清空一个字典
dictionary = Dictionary()
dictionary1 = [Int:String]()
dictionary2 = [:]

var exmDic = ["first":"a","second":"b","third":"c"]
//查看字典有多少个数据对
exmDic.count
//判断一个字典是否为空
exmDic.isEmpty

//访问字典中的某一个数据,注意,对于字典而言不存在越界的问题,如果某个键值没有对应的值则返回nil,也就是说返回值是一个可选型
exmDic["first"] //"a"
exmDic["fourth"] //nil
"hello "+exmDic["first"]!

//插入新元素
exmDic["fourth"] = "dd"

//修改某个元素
exmDic["first"] = "aa"
exmDic.updateValue("aa", forKey: "first") //此方法的返回值是将要修改的键值对应的原来的数据

//删除某个元素
exmDic["first"] = nil
exmDic.removeValue(forKey: "first")//此方法的返回值是将要修改的键值对应的原来的数据

遍历字典

//获取字典中所有的键
exmDic.keys //并不是简单数组类型
//强制转换为数组类型
Array(exmDic.keys)
[String](exmDic.keys)
//获取字典中所有的值
exmDic.values //不是数组类型

//遍历字典
//方法一
for (key,value) in exmDic{
    print("\(key):\(value)")
}
for key in exmDic.keys{
    print(exmDic[key])
}
for value in exmDic.values{
    print(value)
}

你可能感兴趣的:(Swift基础篇——字典)