arraylist和hashmap的扩容机制是什么

2024-03-14

ArrayList的扩容机制是在添加元素时判断当前元素个数是否已经达到容量上限,如果达到上限,则会创建一个新的数组,将原数组中的元素复制到新数组中,并更新容量。一般来说,新数组的容量是原数组容量的1.5倍。

HashMap的扩容机制是在添加元素时判断当前元素个数是否已经达到负载因子(load factor)乘以数组容量的上限(默认为0.75),如果达到上限,则会创建一个新的数组,将原数组中的元素重新分配到新数组中,并更新容量。一般来说,新数组的容量是原数组容量的两倍。