hashmap的大小爲什麼指定爲2的冪次

JDK8中HashMap的大小默認初始值,以及後面的擴容操作,都指定,大小必須是2的冪次 所以爲什麼呢? HashMap中指定哈希桶數組大小爲2的冪次,主要是在兩方面進行優化: 1,擴容:大小指定爲2的冪次,當哈希桶擴大2倍時,只需要進行左移操作,衆所周知,位操作的速度還是超快的 2,Hash算法的均勻分佈,減少哈希碰撞機率:16或者其他2的冪,Length-1的值是後面的二進制位全爲1,例如16
相關文章
相關標籤/搜索