开发者社区> 问答> 正文

关于阿里巴巴Java开发手册中集合初始化的问题

【推荐】集合初始化时,指定集合初始值大小。 说明:HashMap 使用 HashMap(int initialCapacity) 初始化, 正例: initialCapacity = (需要存储的元素个数 / 负载因子) + 1。 注意负载因子 (即loader factor)默认为 0.75,如果暂时无法确定初始值大小,请设置为 16。

我看了一下(jdk1.7) HashMap的源码 默认就是16,为什么还需要显示的指定为16?

展开
收起
musi 2017-06-13 09:22:20 2874 0
2 条回答
写回答
取消 提交回答
  • 个人认为主动设置16没什么用,不设置也没什么问题,担心jvm不同版本实现不同有点多虑了

    2019-07-17 21:17:18
    赞同 展开评论 打赏
  • 个人博客www.soaringroad.com构建中,欢迎光临。

    我看了下源码,指定16和不指定的差别在一些判断的是否执行,所以不指定的效率高,我也不知道为啥要指定16,来个大神解释一下吧


    因为不是每个版本的java的hashmap都指定了16

    2019-07-17 21:17:18
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载