Java基础篇—HashMap的初始容量为什么最好设为2的次幂

HashMap的初始容量为什么最好设为2的次幂 首先我们来看看如果初始容量不是2的次幂会出现什么问题。为了更好的演示接下来出现的问题,我们取比较特殊一点的数字。假设我要存12个元素,为了防止HashMap扩容,初始容量应设为(12/0.75) + 1 = 17。 下面我们来看下HashMap计算数组索引的源码,如下图: 上图中有三个变量:tab(数组)、n(数组的长度)、i(数组的索引)。从源码中
相关文章
相关标签/搜索