HashMap长度为什么要设计成2幂次方呢?
下文笔者讲述HashMap长度及每次扩容的长度都设计为2的幂次方的原理说明,如下所示
设计为2的幂次方的原理
设计为2的幂次方 可减少Hash碰撞 使数量平均分配
算法的设计
设计为2的幂 由于1: 均价分布通常采用的取余操作 取余如果除数为2时,则效果等同于hash%length==hash&(length-1)的前提是 length是2n次方 所以为了使用&计算提高效率,则采用2的*方法
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。