首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果一个哈希码不能识别一个唯一的对象,它有什么用呢?

如果一个哈希码不能识别一个唯一的对象,它有什么用呢?
EN

Stack Overflow用户
提问于 2017-06-12 23:25:53
回答 1查看 194关注 0票数 3

Java类对象

散列码:

如果两个对象根据等于(java.lang.Object)方法是不相等的,则不需要对每个对象调用hashCode方法就必须产生不同的整数结果。但是,程序员应该意识到,为不平等的对象生成不同的整数结果可能会提高哈希表的性能。

如果两个对象可以产生不同的整数结果,那么通过散列实现什么一致性?两个不同的对象可以返回相同的哈希值,这似乎很奇怪。

EN

回答 1

Stack Overflow用户

发布于 2017-06-13 00:29:34

如果一个哈希码不能识别一个唯一的对象,它有什么用呢?

哈希代码不允许您标识唯一的对象,但它允许您标识对象所在的唯一组。

然后,您只需考虑该组,以找到您的对象。

例如,一个HashMap可能有500个项目划分在1000个组之间。由于有了哈希代码,它将立即知道这1000个组中的哪一个,而拒绝了999个其他组。

无论这个组有0,1,甚至6个元素,与所有500个元素相比,它仍然是一个很大的节省时间。

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

https://stackoverflow.com/questions/44510112

复制
相关文章

相似问题

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