java中hashmap的初始容量设置方式-pg电子游戏官网

热度:1℃ 发布时间:2022-01-20 14:53:33

java中hashmap的初始容量设置

根据阿里巴巴java开发手册上建议hashmap初始化时设置已知的大小,如果不超过16个,那么设置成默认大小16:

集合初始化时, 指定集合初始值大小。

说明:

hashmap使用hashmap(int initialcapacity)初始化

正例:

initialcapacity = (需要存储的元素个数 / 负载因子) 1。注意负载因子(即loader factor)默认为0.75, 如果暂时无法确定初始值大小,请设置为16(即默认值)。

反例:

hashmap需要放置1024个元素,由于没有设置容量初始大小,随着元素不断增加,容量7次被迫扩大,resize需要重建hash表,严重影响性能。

而对于为什么负载因子是0.75,答案可以在《数据结构与算法分析 java语言描述》的散列章节中找到

java hashmap的指定初始值大小和自动扩容

hashmap指定初始值大小

指定初始值大小应为2的幂。

如果指定的初始值不是2的幂,则hashmap的容量为大于指定初始值的2的幂;如果不指定,容量默认为16。

hashmap自动扩容

当hashmap的键值对个数大于容量的75%时,hashmap的容量扩大一倍。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持软科小院。

网友评论
评论
更多编程技术
  • 编程技术推荐
更多
最新软件下载
网站地图