我讀過幾個論壇,但我仍然不明白hashCode()
是如何計算的?何時?我在HashMap
中讀到hashCode()
這樣調用:hash(key.hashCode());
和HashTable
,它是用密鑰和對計算的:h += e.key.hashCode()^e.value.hashCode();
。它們在HashMap
和HashTable
中的計算方式有何不同?在HashMap和HashTable中計算hashCode的工作方式是否有所不同?
hashCode()
何時被調用?我認爲這發生在你嘗試做put(..)
,get(..)
或delete(..)
?
您可以只看源代碼... –
顯然,該值不能用於計算散列值。否則,get()方法如何工作以重新計算沒有任何值的散列? –