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。
相关推荐
ii_best12 小时前
ios脚本开发工具安装按键精灵uncOver越狱教程ios14以及以下系统
ios·自动化·编辑器
九河云12 小时前
智能家居生态数字化:设备联动场景化编程与用户习惯学习系统建设
人工智能·学习·智能家居
游戏开发爱好者812 小时前
iOS 性能测试的工程化方法,构建从底层诊断到真机监控的多工具测试体系
android·ios·小程序·https·uni-app·iphone·webview
秋深枫叶红12 小时前
嵌入式第二十八篇——数据结构——队列
数据结构·学习·算法
落羽的落羽12 小时前
【Linux系统】初探 虚拟地址空间
linux·运维·服务器·c++·人工智能·学习·机器学习
hssfscv12 小时前
Java学习笔记——拼图小游戏
java·笔记·学习
点云SLAM13 小时前
Embedding 英文单词学习
人工智能·学习·嵌入式·embedding·安装·英文单词学习·雅思备考
2501_9160088913 小时前
iOS App 混淆的真实世界指南,从构建到成品 IPA 的安全链路重塑
android·安全·ios·小程序·uni-app·cocoa·iphone
chenzhou__13 小时前
LinuxC语言并发程序笔记补充
linux·c语言·数据库·笔记·学习·进程
YJlio13 小时前
LogonSessions 学习笔记(9.17):会话枚举与凭据审计
人工智能·笔记·学习