Swift学习笔记(三)·字典

112 阅读2分钟

字典

引言:字典是一种无序的集合,它存储的是键值对之间的关系,其所有键的值需要是相同的类型,所有值的类型也需要相同。每个值(value)都关联唯一的键(key),键作为字典中这个值数据的标识符。和数组中的数据项不同,字典中的数据项并没有具体顺序。你在需要通过标识符(键)访问数据的时候使用字典

1.定义字典

  1. let dic = [String:String]() 代表这是一个键、值类型均为String的空字典
  2. let dic:[String:Int] = [:]  代表这是一个键类型为String,值类型为Int的空字典
  3. let dic = ["jic":"kiss"] 代表这是一个键、值类型均为String的字典(系统默认检索键值类型)
  4. let dic = [String:Any]() 代表这是键类型为String,值类型为任何类型的空字典(该用法较为常用,符合我们平时开发的习惯)

2.获取字典值

  1. let dic:[String : Any] = ["name":"浩然","age":3]
     print(dic["name"] as Any) as为类型转换,以后讲解类时会详细描述
     输入为:Optional("浩然")
  2. dic.count 代表字典内所有键值对的数量

3.修改、增加、删除键值(仅限var定义的字典)

  1. var dic:[String : Any] = ["name":"浩然","age":3]
  2. dic["name"] = "史浩然" 代表将原有的键"name"对应的值修改为"史浩然"
  3. dic["height"] = 105 代表新增一个键值对(原字典没有的键视为新增,否则视为修改)
  4. dic.removeAll() 代表删除字典内所有键值对
  5. dic.removeValue(forKey: "age") 代表删除字典内键"age"以及所对应的值
  //根据哈希索引值 删除(和removeValue结果一样。。。。)
  6. let index = dic.index(forKey: "age")
     dic.remove(at: index!)
     代表删除字典内键"age"以及所对应的值

4.遍历字典

  for (key,value) in dic {
     print("\(key),\(value)")
  }
  遍历字典,()内首位永远是键,次位是值