原创文章,欢迎转载。转载请注明:关东升的博客 

Swift字典表示一种非常复杂的集合,允许按照某个键来访问元素。字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合。键集合是不能有重复元素的,而值集合是可以重复的,键和值是成对出现的。

字典声明与初始化

Swift字典类型是Dictionary,也是一个泛型集合。

在声明一个Dictionary类型的时候可以使用下面的语句之一。

var studentDictionary1: Dictionary<Int, String>
var studentDictionary2: [Int: String]

声明的字典需要进行初始化才能使用,字典类型往往是在声明的同时进行初始化的。示例代码如下:

var studentDictionary1:Dictionary<Int, String> = [102 : "张三",105: "李四",109 : "王五"]
var studentDictionary2 =[102 : "张三",105: "李四",109 : "王五"]let studentDictionary3 =[102 : "张三",105: "李四",109 : "王五"]

字典遍历

字典遍历过程可以只遍历值的集合,也可以只遍历键的集合,也可以同时遍历。这些遍历过程都是通过for-in循环实现的。

下面是遍历字典的示例代码:

var studentDictionary =[102 : "张三",105: "李四",109 : "王五"]print("---遍历键---")
for studentID instudentDictionary.keys {print("学号:\(studentID)")
}print("---遍历值---")
for studentName instudentDictionary.values {print("学生:\(studentName)")
}print("---遍历键:值---")
for (studentID,studentName) in studentDictionary {print ("\(studentID) :\(studentName)")
}

运行结果如下:

---遍历键---

学号:105

学号:102

学号:109

---遍历值---

学生:李四

学生:张三

学生:王五

---遍历键:值---

105 : 李四

102 : 张三

109 : 王五

欢迎关注关东升新浪微博@tony_关东升。
关注智捷课堂微信公共平台,了解最新技术文章、图书、教程信息
                             
更多精品iOS、Cocos、移动设计课程请关注智捷课堂官方网站:http://www.zhijieketang.com
智捷课堂论坛网站:http://51work6.com/forum.php

《从零开始学Swift》学习笔记(Day 16)——字典集合相关推荐

  1. 从零开始学STM32(学习笔记——第三天)

    CSDN话题挑战赛第2期 参赛话题:学习笔记 参考文章: [教学文章]STM32内部重要功能全记录 [教学文章]STM32内部核心功能大揭秘 [教学文章]STM32内部重要功能全记录 框架:STM32 ...

  2. matlab 求向量的交集_从零开始的matlab学习笔记——(16)函数绘图

    matlab应用--求极限,求导,求积分,解方程,函数绘图....更多内容尽在个人专栏:matlab学习 这一节开始我们正式进入函数绘图,内容比较繁杂,我尽量把它整合的简洁一些. 单一图像: 首先我们 ...

  3. 【从零开始学深度学习编译器】十二,MLIR Toy Tutorials学习笔记一

    本笔记由学习MLIR Tutorials总结而成,欢迎批评指正. Chapter1: Toy语言和AST MLIR提供了一种Toy语言来说明MLIR的定义和执行的流程.Toy语言是一种基于张量的语言, ...

  4. 关东升的《从零开始学Swift》即将出版

    大家好: 苹果2015WWDC大会发布了Swift2.0,它较之前的版本Swift1.x有很大的变化,所以我即将出版<从零开始学Swift><从零开始学Swift>将在< ...

  5. 关东升的《从零开始学Swift》

    这个博文是swift 2.0的,也是可以参考的 http://blog.csdn.net/tonny_guan/article/category/6139217 文章目录 [置顶] 关东升的<从 ...

  6. 关东升的《从零开始学Swift》3月9日已经上架

    大家一直期盼的<从零开始学Swift>于3月9日已经上架,它是关东升老师历时8个月的呕心沥血所编著,全书600多页,此本书基于Swift 2.x,通过大量案例全面介绍苹果平台的应用开发.全 ...

  7. 【从零开始学深度学习编译器】十三,如何在MLIR里面写Pass?

    [GiantPandaCV导语]这篇文章是学习了比较久然后按照自己的理解步骤重新总结了下来,主要是MLIR Toy Tutorials第3,4篇文章的内容.这里主要讲解了如何在MLIR中自定义Pass ...

  8. 动手学深度学习笔记3.4+3.5+3.6+3.7

    系列文章目录 动手学深度学习笔记系列: 动手学深度学习笔记3.1+3.2+3.3 文章目录 系列文章目录 前言 一.softmax回归 1.1 分类问题 1.2 网络架构 1.3 全连接层的参数开销 ...

  9. 影像组学视频学习笔记(24)-文献导读:了解88种降维、分类器组合、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(24)主要讲解: 解读一篇文献,了解不同的降维.分类器组合方法 这篇文献2018年发表在European Radiology上: Rad ...

  10. 影像组学视频学习笔记(12)-支持向量机(SVM)参数优化(代码)、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(12)主要介绍: SVM参数优化(代码) 参数优化: 自动寻找最合适的γ和C组合. 原理:遍历所有给定的参数组合,对数据进行训练,找到最 ...

最新文章

  1. 在oracle中怎么判断一个日期是否在一定时间范围内
  2. idae 格式化代码 设置eslint_vscode 中格式化代码[vue2支持,插件ESLint、Prettier、Vetur]...
  3. 使用Fork/Join框架优化归并排序
  4. java 中while编译之后_从APK反编译的Java-while循环什么也不做
  5. 腾讯美团爱奇艺等10+大厂面试题汇总!
  6. C++ Primer 5th笔记(chap 16 模板和泛型编程)类模板部分特例化
  7. 10年前腾讯微信后台第一天提交的代码曝光!
  8. android+studio+选择+苹方字体,启动欢迎页面时,Android Studio设置全屏Activity
  9. Python 类继承,__bases__, __mro__, super
  10. 链表之删除链表a/b处的节点
  11. 【LeetCode - 123】买卖股票的最佳时机 III
  12. linux 普通用户间切换,Linux中管理员用户与普通用户之间的切换
  13. 有关家居产品设计的外国专著_为啥外国的二手家具被称为vintage,中国就叫破烂?差在哪儿了?...
  14. C++学习系列笔记(七)
  15. 联想集团董事长杨元庆先生在与微软签约仪式上的发言稿全文
  16. 深度强化学习之近端策略优化(Proximal Policy Optimization)
  17. VMware15pro安装Windows7虚拟机详细教程
  18. 汇编语言debug的使用
  19. MUI框架开发APP详解,一篇就够了
  20. java工程师的薪资真的有那么高吗?

热门文章

  1. ASP.NET Core Api网关Ocelot的中文文档
  2. 设计模式之单例模式-C++
  3. C# error CS1729: 'XXClass' does not contain a constructor that takes 0 arguments的解决方案
  4. G面经prepare: Straight Partition of A Deck of Cards
  5. 使用jsonEditor打造一个复杂json编辑器
  6. 一个端口扫描的小程序
  7. The used SELECT statements have a different number of columns 错误解决
  8. Java查看字节码工具
  9. Java内存模型(Java Memory Model,简称JMM)
  10. enspar启动失败40_法式长棍面包,在家自己做,简单零失败,低糖无油不担心长胖...