首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Swift如何存储和检索Set Type

Swift如何存储和检索Set Type
EN

Stack Overflow用户
提问于 2018-03-03 18:04:52
回答 1查看 52关注 0票数 0

访问Set元素很快,Set类型必须是hashable。

我认为Swift只存储每个元素的散列值,但我发现原始值(不是散列值)也可以访问。例如:

代码语言:javascript
运行
复制
var favoriteGenres: Set<String> = ["Rock", "Classical", "Hip hop"]

for genre in favoriteGenres {
    print("\(genre)")
}

输出:

代码语言:javascript
运行
复制
// Jazz
// Hip hop
// Classical

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

EN

回答 1

Stack Overflow用户

发布于 2018-03-03 18:22:46

你是对的,Swift存储散列值。

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

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

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

请参见https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html -> Sets

在文档中,我找不到它们如何存储Set类型的确切方式,但据我所知,它们访问的Sets是关于散列值的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49082974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档