5.3 集合
Swift提供了一种内容唯一的容器——集合(Set)。很多人认为集合的应用场景不算很多,纯粹只是因为大部分语言都提供了这么一个数据结构,但是本书认为并不是这样。接下来,本节将会介绍集合并展示其独特的优势。
那到底什么是集合呢?集合是一组互不相同的实例的无序组合。这个定义将其与数组区别开来,后者是有序的,并且可以容纳重复的值。比如说,数组可以存放[1,3,5,3,1]的内容,但是集合不行。
集合与字典更相近一些,但是又有一些区别:跟字典一样,集合内的值是无序的;字典的键必须唯一,集合也不允许有重复值;为了确保元素唯一,集合需要其元素符合Hashable协议,就跟字典的键一样;字典的值可以通过对应的键来访问,而集合只是存储了单个元素而不是键值对。