当您插入线对
(10, 17)然后时
(10,20),从技术上讲不会涉及碰撞。您只是将给定键的旧值替换为新值
10(因为在两种情况下,10等于10,并且10的哈希码始终为10)。
当多个键散列到同一存储桶时会发生冲突。在这种情况下,您需要确保可以区分这些键。链接冲突解决方案是用于此的那些技术之一。
作为一个例子,让我们假设两个字符串
"abra ka dabra"和
"wave mywand"产量哈希码
100和
200分别。假设数组的总大小为10,则它们都以相同的存储桶(
100 % 10和
200 %10)结尾。链接可确保您每次执行操作时
map.get( "abra ka dabra");,最终都能获得与键关联的正确值。对于Java中的哈希映射,这是通过使用
equals方法完成的。



