java - HASHMAP - 阈值和负载因子以及容量

标签 java hashmap

我总是被告知,一旦map的大小> loadfactor *容量,hashmap就会调整大小,就像JDK注释中对阈值所说的那样:

enter image description here

但是在阅读了JDK8中HashMap的源码后,就像put方法一样: enter image description here

map 在下一个大小>阈值时调整大小,并且阈值=容量的幂,而不是首次放置操作的容量*负载因子。即使在调整大小期间,阈值也只是旧阈值的两倍,而不是新容量 * 负载因子。 enter image description here

JDK 文档是否有任何不匹配的地方?或者也许我完全误解了。大家帮忙提点建议吗?

最佳答案

因为新容量是旧容量的两倍

关于java - HASHMAP - 阈值和负载因子以及容量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50512758/

相关文章:

java - 使用 POI FontFormatting setFontColor 时出现异常

java - 修改数值数据类型,将其最小值设置为 1

Java 哈希表和 HashMap

java - 在发生碰撞时从 LinkedHashMap 检索元素的时间复杂度是多少?

java - (非常)简单的Java 3D图形库?

java - 如何在Java中将ByteArrayOutputStream转换为PDF并保存在硬盘中?

java - 表示项目根的符号

java - 在没有迭代器的情况下同时修改/删除 HashMap 中的条目

java改变hashmap的值

java - 如何按降序打印 HashMap 值,但如果两个或多个值相等,则按键升序打印它们? (JAVA)