HashMap的负载因子是指,达到容器的最大容量*负载因子,容器就扩容。
那么负载因子为什么不设置成1呢?这样空间利用的更充分。
原因是如果设置成1。这样会发生大量的hash碰撞。有些位置的链表会很长,就不利于查询。省空间而费时间。
如果设置成0.5,hash碰撞的几率小了很多,但是会频繁扩容,费空间而省时间。
大佬们经过研究,0.75的数值比较均衡,在空间和时间做了个取舍。
HashMap的负载因子是指,达到容器的最大容量*负载因子,容器就扩容。
那么负载因子为什么不设置成1呢?这样空间利用的更充分。
原因是如果设置成1。这样会发生大量的hash碰撞。有些位置的链表会很长,就不利于查询。省空间而费时间。
如果设置成0.5,hash碰撞的几率小了很多,但是会频繁扩容,费空间而省时间。
大佬们经过研究,0.75的数值比较均衡,在空间和时间做了个取舍。
本文标题:HashMap的负载因子为什么是0.75
本文链接:https://www.haomeiwen.com/subject/fgzpdhtx.html
网友评论