current hashmap初始空间怎么扩容
时间: 2024-05-17 11:17:38 浏览: 44
详解HashMap源码解析(下).doc
Java中的HashMap在初始空间不足时会进行扩容,扩容的过程分为两个步骤:
1. 创建一个新的数组,大小为原来数组的两倍。
2. 将原来数组中的元素重新计算哈希值并放入新数组的对应位置,如果有多个元素哈希值计算后落在同一个位置,则使用链表或红黑树来存储这些元素。
在扩容的过程中,如果元素数量较少,数组的负载因子小于0.75,那么HashMap会选择不扩容。如果元素数量过多,数组的负载因子大于等于0.75,那么HashMap就会自动扩容,这个阈值可以通过构造函数中的loadFactor参数来设置。
阅读全文