Swift学习笔记三(Dictionary 篇)

1 Dictionary 概念

  • 字典储存无序的互相关联的同一类型的键和同一类型的值的集合。
  • 字典类型的全写方式 Dictionary<Key, Value>,简写方式 Key: Value,建议使用简写方式。
  • 字典的 key 必须是可哈希的。

2 Dictionary创建

2.1 初始器创建方式

2.2 简写创建方式

2.3 字面量创建方式

2.4 Dictionary的方法

  • 可以使用 count 只读属性来找出 Dictionary 拥有多少元素。
  • 使用布尔量 isEmpty 属性检查字典是否为空。

3 Dictionary的遍历

3.1 For-In 循环

  • 可以通过访问字典的 keys 和 values 属性来取回可遍历的字典的键或值的集合。
    • Swift 的 Dictionary 类型是无序的。要以特定的顺序遍历字典的键或值,使用键或值的
      sorted() 方法。

4 Dictionary的常用操作

4.1 添加或更新元素

  • 使用下标添加或更新元素。
  • 使用 updateValue(_:forKey:) 方法添加或更新元素,返回一个字典值类型的可选项值。

4.2移除元素

  • 使用下标脚本语法给一个键赋值 nil 来从字典当中移除一个键值对。
    • 使用 removeValue(forKey:)来从字典里移除键值对。这个方法移除键值对如果他们存在的
      话,并且返回移除的值,如果值不存在则返回 nil 。

4.3 合并两个字典

  • merge(_:uniquingKeysWith:)

4.4 fifirstIndex

  • 虽然字典是无序的,但是每个kv对在扩容之前的位置是稳定的。如果你需要保持顺序的kv对 可以使用 KeyValuePairs。
相关推荐
zyf1044167 分钟前
暑期实践日志 Day45:梳理第五章内容,完善成果总结
学习·计算机网络·剪辑·暑期实践·课题任务
m4Rk_19 分钟前
【论文阅读】Agent 记忆机制(56):R2D2——把历史网页轨迹变成可搜索地图与反思记忆
论文阅读·人工智能·学习·开源·github
M78佐菲20 分钟前
Linux学习笔记:网络通信
linux·笔记·学习·算法
m4Rk_27 分钟前
【论文阅读】Agent 记忆机制(58):Amory——把长期对话从记忆碎片组织成会生长的故事
论文阅读·人工智能·学习·开源·github
西峰u1 小时前
Java IO 完整学习笔记|字节流、字符流、缓冲流、资源关闭全梳理
java·笔记·学习
星恒随风1 小时前
C++11详解(一):统一初始化——列表初始化与 initializer_list
c++·笔记·学习·list·状态模式
我爱cope1 小时前
【计算机网络 | 网络层补充:内部网关协议:RIP 与 OSPF 如何在自治系统内选择路由?】
网络·学习·计算机网络·智能路由器
是隼人1 小时前
buuctf-pwn ciscn_2019_n_5题解(学习过程持续 更新)
c语言·学习·安全·pwn入门·ctf入门
旖旎夜光2 小时前
【AI入门】大模型介绍全解析:从模型、LLM 到提示词与嵌入
人工智能·笔记·python·学习·ai编程
xxwl5852 小时前
Git常用命令的学习
git·学习