hashmap初始容量及扩容机制
时间: 2023-09-14 22:08:59 浏览: 95
java HashMap扩容详解及实例代码
HashMap 的初始容量为 16,负载因子为 0.75。负载因子是指当 HashMap 中的元素个数达到容量与负载因子的积时就会触发扩容操作,将容量扩大为原来的两倍。
在进行扩容操作时,HashMap 会新建一个容量为原来两倍的数组,将原数组中的元素重新计算 hash 值,然后放到新数组的对应位置。因为新数组的长度是原来的两倍,所以相同的 hash 值的元素在新数组中的位置会发生变化,这样可以减少 hash 冲突的概率。
需要注意的是,扩容操作可能会导致 HashMap 中的元素顺序发生变化,因此在进行迭代操作时需要特别小心。
阅读全文