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。
相关推荐
Ahtacca1 分钟前
保姆级教程:Obsidian + PicGo + Gitee 搭建免费稳定的自动化图床
运维·笔记·学习·gitee·自动化
我的xiaodoujiao39 分钟前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 35--二次封装MySQL数据库连接操作
python·学习·测试工具·pytest
inputA41 分钟前
【rt-thread】点灯实验和按键输入实验
c语言·笔记·学习·实时操作系统
Radan小哥44 分钟前
Docker学习笔记—day013
笔记·学习·docker
PNP Robotics1 小时前
聚焦具身智能,PNP机器人展出力反馈遥操作,VR动作捕捉等方案,获得中国科研贡献奖
大数据·人工智能·python·学习·机器人
黑客思维者1 小时前
机器学习016:监督学习【分类算法】(支持向量机)-- “分类大师”入门指南
人工智能·学习·机器学习·支持向量机·分类·回归·监督学习
xiaobuding_QAQ1 小时前
51汇编仿真proteus8.15学习篇一(附源码)
汇编·单片机·学习·proteus
乐茵lin1 小时前
golang中 Context的四大用法
开发语言·后端·学习·golang·编程·大学生·context
山土成旧客1 小时前
【Python学习打卡-Day26】函数的艺术(上):从基础定义到参数魔法
开发语言·python·学习
车载测试工程师1 小时前
CAPL学习-AVB交互层-媒体函数1-回调&基本函数
网络·学习·tcp/ip·媒体·capl·canoe