这个问题并不特定于任何编程语言,我更感兴趣的是一般逻辑。
一般来说,关联映射将一个键映射到一个值。据我所知,实现要求键必须是唯一的,否则值会被覆盖。好的。
那么假设上述过程是通过某种哈希实现完成的。如果两个不同的键获得相同的哈希值怎么办?我想以底层数组的形式考虑,其索引是在所述键的哈希结果中的结果。可能有多个独特的键被映射到同一个值,是吗?如果是这样,这样的实现如何处理呢?
处理相同哈希与处理相同键有何不同?因为相同键会导致覆盖,而相同哈希必须保留该值。
我了解哈希冲突,所以我知道链接和探测。实现是否迭代当前被哈希到特定索引的值,并确定键是否相同?
在寻找答案时,我遇到了这些链接:
1. 当重复的键放入HashMap中时会发生什么?
2. 在同一个键下具有多个值的HashMap
然而它们没有回答我的问题。我们如何区分相同的哈希和相同的键?