我知道,当地图中的元素数量大于负载因子时,HashMap的容量就会增加。
hashmap的内部工作是将元素存储在存储桶中,该存储桶基于映射内部键的哈希码计算得出。同样,在碰撞之后,该元素也将添加到该存储桶中的列表中。
如果我的理解正确,请纠正我。 HashMaps的容量是数组在其内部数据结构中的大小。如果我有一个Person类,其hashcode方法返回一个常量int;如果我向键为Person对象的映射中添加了数百万条记录,它们都将落入内部因此,在这种情况下,存储桶的容量不应增加,因为添加到地图的每个新元素都将添加到同一存储桶的链接列表中。但是我观察到的是容量继续增加。当我说容量增加时,内部阵列的大小会增加吗?
class Person{
int id;
String name;
@Override
public int hashCode() {
return 1000;
}
}