快速如何存储和检索集合类型



访问 Set 元素的速度很快,并且 Set 类型必须是可哈希的。

我是这么认为的 Swift 只存储每个元素的哈希值,但我认为原始值(未哈希)也可以访问。 例如:

var favoriteGenres: Set<String> = ["Rock", "Classical", "Hip hop"]
for genre in favoriteGenres {
print("(genre)")
}

输出:

// Jazz
// Hip hop
// Classical

swift 如何在内存中存储 Set 类型并访问它?

你是对的,Swift 存储哈希值。

默认情况下,Swift 的所有基本类型(如 String、Int、Double 和 Bool)都是可哈希的,并且可以用作设置值类型或字典键类型。默认情况下,没有关联值的枚举事例值(如枚举中所述)也是可哈希的。

如果存储自己的自定义类型,它们必须符合哈希协议。

您可以将自己的自定义类型用作设置值类型或字典键类型,方法是使它们符合 Swift 标准库中的 Hashable 协议。符合 Hashable 协议的类型必须提供名为 hashValue 的可获取 Int 属性。[...]

查看 https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html ->集

在文档中,我找不到他们存储集合类型的确切方式,但据我了解他们访问的有关哈希值Sets

最新更新