美文网首页
准备用HashMap存1w条数据,构造时传10000会触发扩容吗

准备用HashMap存1w条数据,构造时传10000会触发扩容吗

作者: 阔阔飞翔 | 来源:发表于2019-11-18 09:39 被阅读0次

https://www.cnblogs.com/plokmju/p/hash_threshold.html

示例代码:// 预计存入 1w 条数据,初始化赋值 10000,避免 resize。

HashMap<String,String> map = new HashMap<>(10000)

// for (int i = 0; i < 10000; i++)

结论:当我们从外部传递进来 10000时,实际上经过 tableSizeFor() 方法处理之后,就会变成 2 的 14 次幂 16384,再算上负载因子 0.75f,实际在不触发扩容的前提下,可存储的数据容量是 12288(16384 * 0.75f)。

这种场景下,用来存放 1w 条数据,绰绰有余了,并不会触发我们猜想的扩容。

相关文章

网友评论

      本文标题:准备用HashMap存1w条数据,构造时传10000会触发扩容吗

      本文链接:https://www.haomeiwen.com/subject/tzrvictx.html