iOS技术栈
Swift中集合(Set)用于存储相同类型并且没有确定顺序的值。一个类型的值如果要存储在集合(Set)中,该类型必须是可哈希化的。即该类型需要遵循 Hashable 协议,提供一个类型为 Int 的可读属性hashValue。该类型的 hashValue 属性返回的值不需要在同一程序的不同执行周期或者不同程序之间保持相同。因为 Hashable 协议遵循 Equatable 协议,所以遵循该协议的类型也必须提供一个“是否相等”运算符(==)的实现。这个 Equatable 协议要求任何遵循 == 实现的实例间都是一种相等的关系。和java语言一样,相等的对象哈希值必须相同,而哈希值相同,对象不一定相等。