LinkedHashMap的负载因子干啥用的?

weiqiyiji 2007-07-06 02:57:46
linkedMap = new LinkedHashMap(16, 0.8f, true);
...全文
535 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
DragonOneBlue 2007-07-17
  • 打赏
  • 举报
回复
加载因子是已存和的数据容量与总容量的比率,采用小数表示,默认为 0.75,即表示当 Map 中的数据量达到总容量的 75% 时,其容量空间自动扩张至原容量的一倍。一般来说,没有什么特殊的要求,不建议去更改。
dracularking 2007-07-06
  • 打赏
  • 举报
回复
可能类似于Hashtable中的loadFactor

Hashtable类中包含一个私有成员变量loadFactor,它指定了哈希表中元素个数与表位置总数之间的最大比例。例如:loadFactor等于0.5,则说明哈希表中只有一半的空间存放了元素值,其余一半皆为空。

哈希表的构造函数以重载的方式,允许用户指定loadFactor值,定义范围为0.1到1.0。要注意的是,不管你提供的值是多少,范围都不超过72%。即使你传递的值为1.0,Hashtable类的loadFactor值还是0.72。微软认为loadFactor的最佳值为0.72,因此虽然默认的loadFactor为1.0,但系统内部却自动地将其改变为0.72。所以,建议你使用缺省值1.0(事实上是0.72,有些迷惑,不是吗?)

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧