hashmap為什么是二倍擴容?


  這個很簡單,首先我們考慮一個問題,為什么hashmap的容量為2的冪次方,查看源碼即可發現在計算存儲位置時,計算式為:

    (n-1)&hash(key)

  容量n為2的冪次方,n-1的二進制會全為1,位運算時可以充分散列,避免不必要的哈希沖突。

  所以擴容必須2倍就是為了維持容量始終為2的冪次方。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM