HashMap的數組容量爲什麼是2的N次冪

HashMap的數組容量爲什麼是2的N次冪,首先我們要清楚數組的索引值是0到N-1,而hashCode的計算範圍是42億,也就是所有對象的hashCode有42億種可能,我們要把它丟到這16的長度的數組裏面時,我們應該怎麼做?怎麼將42億種可能變爲0到N-1種可能,通常我們會想到用取模的方法來計算,但是它有兩個缺點: 1、負數求餘還是負數 2、 性能較慢(對比位運算) 我們來看看HashMap源碼
相關文章
相關標籤/搜索