之前针对 创建map 指定容量,写过一篇吐槽教学文章:
HashMap 使用的时候指定容量?你真的用明白了吗?(值得一阅)_new hashmap<>(4);-CSDN博客
因为我们经常要通过代码做一些数据的分组,比如查询出List,然后清洗到 Map 里面。
然后就出现经常创建map的时候,我们很多人就想指定容量 。
也就是开头我提到的之前写的那个文章里面的内容,其实很多人都没搞懂这个指定容量。
那今天看源码,顺便看到了,也就随手记录分享一下 ,来看看大牛他们是怎么创建map 指定容量的(这是spring-bean jar里面的源码片段):
可以看到作者用意是跟我们一样的,指定容量避免放入值的时候触发扩容这些。
但是用的是 CollectionUtils.newHashMap
可以一起来看看,为啥用的这个创建 :
图一:
图二:
可以看到这里面就是我们平时想去实现的指定容量的计算过程。
好了,就到这。