tôi đang trải qua việc thực hiện các phương pháp đặt cho một Hashtable Java và đã xem qua này:Tại sao một cửa hàng HashTable giá trị băm của khóa trong bảng trong java
// Makes sure the key is not already in the hashtable.
Entry tab[] = table;
int hash = key.hashCode();
int index = (hash & 0x7FFFFFFF) % tab.length;
for (Entry<K,V> e = tab[index] ; e != null ; e = e.next) {
if ((e.hash == hash) && e.key.equals(key)) {
V old = e.value;
e.value = value;
return old;
}
}
Trong khi tôi hiểu rằng một chìa khóa là cần thiết để kiểm tra va chạm, tại sao Java lưu trữ giá trị băm của khóa và cũng kiểm tra nó?