集合其实就是一个哈希表,它跟数组的区别在于集合不是连续的,集合里面的值具有唯一性。集合常用在经常性的插入、删除和查找元素的情况下。

集合的常见操作跟数组的一致,不过集合类型是Set,如果类型可以推断出来,同样可以简写成Set。集合的初始化也可以用数组的字面量的方式进行。同样的,集合通过insert(_:)函数插入值,通过remove(_:)函数来删除值,不过如果删除的值不在集合中,返回值可能为nil。也可以通过removeAll()函数来删除集合中所有的值。集合也是可遍历的,虽然集合是无序的,不过可以用sorted()函数返回集合的排序后的序列。下面程序展示了集合的基本用法。

可以很方便的对两个同类型的集合执行合并,获取集合的交集、补集以及差集。还可以很方便的通过函数判断两个集合是否是父子集的关系。使用到的函数如下示例中。