【面试题】一道关于HashMap初始容量设置的面试题

面试官:如果确定HashMap中只装载500个元素,你会怎么初始化HashMap呢?

显然,这是一个关于合理设置集合类初始容量提高程序运行效率的题。对于HashMap,要尽可能减少耗时的扩容resize()方法次数。
已经确定要装载500个元素了,参考《阿里巴巴Java开发手册》:

【推荐】集合初始化时,指定集合初始值大小。

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

由公式,计算出初始化容量为667。

原创文章 10 获赞 10 访问量 4761

猜你喜欢

转载自blog.csdn.net/Steven_L_/article/details/105836270