开发者社区> 问答> 正文

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

musi 2017-06-13 09:22:20 1034

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

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

存储 Java
分享到
取消 提交回答
全部回答(2)
  • mrcamel
    2019-07-17 21:17:18

    个人认为主动设置16没什么用,不设置也没什么问题,担心jvm不同版本实现不同有点多虑了

    0 0
  • 冰封加百列
    2019-07-17 21:17:18

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


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

    0 0
添加回答

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题