我在一次采访中被问到一个非常好的问题。问题是——
我们知道,如果 hashmap 条目达到 loadfactor ,就会发生重新散列。例如 - 如果我的负载因子是 7 并且我的 mapsize 是 9,那么当不是时会发生重新散列。条目数达到 7 。
现在的问题是假设我想在这张地图中只输入 8 个元素(并且我们知道我将负载因子保持为 7),那么当我输入第 7 个元素时,就会发生重新散列。所以我只想在第 7 个元素之后再添加一个元素,但是重新散列并且不必要地增加了大小并造成了不必要的内存浪费。那么为什么我不保持 loadfactor size 等于 initial capacity 。为什么它保持在 75% 或 80% 之类的。
提前感谢您的回答。