09 hashmap的负载因子为何是0.75

vvEcho 2025-03-04 11:04:54
Categories: Tags:

hashMap将负载因子设置为0.75是一个性能兼顾的考虑

假设负载因子设置为0.5则;hash表在填充到一半的时候就会触发扩容,减少了hash冲突,查询效率也提高了;但是空间利用率下降了,且频繁的扩容会导致内存开销大且重新hash的成本很高;

如果设置为1,则hash表完全满了才会扩容,虽然空间利用率高了,但是hash冲突的概率也会明显提高,由此带来的链表和红黑树的高度也会提高,插入或查询的效率将会降低。