检查内容唯一性的容器
任何语言中是否有任何数据类型/容器在插入项目之前检查内容的唯一性而不是值或索引?
Is there any datatype /container in any language which checks for the uniqueness of the content rather than the value or index before inserting the item?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
是的,它被称为集合。 大多数语言都以某种形式实现它们。
Yes, it's called a set. Most languages implement them in some form.
当然,我想到的就是 Cocoa 的 NSSet 类。 C++ STL 也有一个集合类。
当然,除了简单的指针或引用比较之外,您还需要某种方法来定义唯一的对象。 例如,在 Cocoa 中,如果两个对象以
YES
响应isEqual:
并且具有相同的哈希码,则就 NSSet 而言,它们被视为相同。Sure, one that comes to mind is Cocoa's NSSet class. The C++ STL also has a set class.
Of course, you need some way to define a unique object beyond simple pointer or reference comparison. For instance, in Cocoa, two objects are considered the same for the purpose of NSSet if they respond to
isEqual:
withYES
and have the same hash code.问题在于该值可以是任何值,因此这是非常开放的并且并不总是实用的。
The problem with that is that the value can be ANYTHING so that's very open ended and not always pratical.
具有 UNIQUE 字段的 SQL。 在 Python 中设置。 文件系统上的文件名。 取决于你如何定义“内容”。
SQL with a UNIQUE field. sets in Python. Filenames on Filesystems. Depends on how you define "content".