這個問題主要還是記錄下別人回答的鏈接,之所以單獨寫一個文章,僅僅是記錄以及更好檢索。
HashTable的默認(rèn)大小是質(zhì)數(shù),HashMap默認(rèn)大小是2的倍數(shù),這是為什么呢?
傳送門:http://stackoverflow.com/questions/1145217/why-should-hash-functions-use-a-prime-number-modulus
以上的鏈接是討論質(zhì)數(shù)問題,第一個高贊的回答,討論了質(zhì)數(shù),2的次冪以及String hashcode為什么用31的問題,另又找到了一個鏈接是關(guān)于HashMap的hashcode問題,傳送門:https://www.javaspecialists.eu/archive/Issue054.html(https://www.javaspecialists.eu/archive/Issue054.html)
這個文章是sun開發(fā)者寫的2002年的文章,這個文章給出了hashcode的一些基準(zhǔn)測試代碼,也簡單描述了為什么用2的次冪。