HashMap的初始容量爲何設爲16

length 的值爲 2 的整數次冪,h & (length - 1)至關於對 length 取模。這樣提升了效率也使得數據分佈更加均勻。效率

爲何會更加均勻? length的值爲偶數,length - 1 爲奇數,則二進制位的最後覺得爲1,這樣保證了 h & (length - 1) 的二進制數最後一位可能爲1,也可能爲0。若是爲length爲奇數,那麼就會浪費一半的空間。二進制

相關文章
相關標籤/搜索