-
用&運算代替%運算,若不為2的冪次,內部數組會存在浪費
index = (tab.length - 1) & hash
若不為2的冪次,則減一后低位必存在0,這樣相與后該位結果為0,那么在該位上為1的索引永遠用不到,數組存在浪費
-
擴容時,方便定位
當相與的該位(圖中橘色的X)
當相與的該位為0時,則結果不變,擴容后索引值不變
當相與的該位為1時,則結果為原索引值加原數組長度
用&運算代替%運算,若不為2的冪次,內部數組會存在浪費
index = (tab.length - 1) & hash
若不為2的冪次,則減一后低位必存在0,這樣相與后該位結果為0,那么在該位上為1的索引永遠用不到,數組存在浪費
擴容時,方便定位
當相與的該位(圖中橘色的X)
當相與的該位為0時,則結果不變,擴容后索引值不變
當相與的該位為1時,則結果為原索引值加原數組長度
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。