【发布时间】:2017-12-07 11:53:30
【问题描述】:
这个问题不针对任何编程语言,我对通用逻辑更感兴趣。
通常,关联映射采用一个键并将其映射到一个值。据我所知,实现要求键是唯一的,否则值会被覆盖。好的。
所以让我们假设以上是通过一些哈希实现来完成的。
如果两个不同的键获得相同的哈希值怎么办?我正在以底层数组的形式考虑这一点,其索引是所述键上的哈希结果。有可能不止一个唯一键映射到相同的值是吗?如果是这样,这样的实现如何处理这个问题?
处理 same hash 与处理 same key 有何不同?由于 same key 会导致覆盖,并且 same hash 必须保留该值。
我了解带有冲突的散列,所以我知道链接和探测。实现是否会遍历散列到特定索引的当前值并确定键是否相同?
在寻找答案时,我发现了以下链接:
1.What happens when a duplicate key is put into a HashMap?
2.HashMap with multiple values under the same key
然而,他们没有回答我的问题。我们如何区分相同的哈希和相同的键?
【问题讨论】: