这个问题不是特定于任何编程语言,我对通用逻辑更感兴趣。如何处理相同的散列与相同的密钥?
通常情况下,关联地图采用一个键并将其映射到一个值。据我所知,实现要求密钥是唯一的,否则值会被覆盖。好的。
因此,让我们假设以上是通过一些散列实现完成的。 如果两个不同的键获得相同的散列值?我正在考虑这种形式的底层数组,其索引是由所述键上的散列引起的。可能有多个唯一键映射到相同的值是?如果是这样,那么这样的实现如何处理呢? 如何处理相同的散列不同于处理相同的键?由于相同键导致覆盖和相同散列有保留价值。
我知道哈希与碰撞,所以我知道链接和探测。实现迭代遍历当前的值散列到一个特定的索引,并确定密钥是否相同?
虽然我正在寻找我在这些连结传来了回答:
1. What happens when a duplicate key is put into a HashMap?
2. HashMap with multiple values under the same key
他们不但是回答我的问题。我们如何区分相同的哈希与相同的密钥?