【Java】HashMap的扩容机制?(约174字)

当HashMap中的元素个数超过数组大小(数组长度)*loadFactor(负载因子)时,就会进入扩容阶段。

在扩容阶段,HashMap会重新创建一个新的数组,然后将原来的元素复制到新数组中。

如果原来的元素个数小于等于负载因子乘以当前容量,那么HashMap就不会进行扩容。

Java 8

在Java 8中,HashMap的扩容机制做了一些调整。默认情况下,HashMap的初始容量是16,每次扩容是将容量扩大为两倍。

而且HashMap的容量要时刻保持2的幂次方,因为我们计算出hashcode之后,还要对它进行取模运算,所以容量必须是2的幂次方。

THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容