hashMap长度为什么是2的幂次方_hashmap 的长度为什么是 2 的幂次方-CSDN博客

网站介绍:文章浏览阅读6.6k次,点赞23次,收藏38次。HashMap为了存取高效,要尽量较少碰撞,就是要尽量把数据分配均匀,每个链表长度大致相同,这个实现就在把数据存到哪个链表中的算法;这个算法实际就是取模,hash%length,计算机中直接求余效率不如位移运算,源码中做了优化hash&(length-1),hash%length==hash&(length-1)的前提是length是2的n次方;为什么这样能均匀分布减少碰撞呢..._hashmap 的长度为什么是 2 的幂次方