HashMap 初始化时可以设置容量参数,比如说你有7个参数,你可能会默认设置为7,但是这么设置其实是有问题的。
原因
HashMap 会根据用户的传值去选择大于这个值的第一个二的幂作为容量。
这么做是因为通过二的幂用来哈希寻址的方法是最高效的。
最佳值设置
(期望的容量值/扩展因子)+1
例如:期望容量值为7,扩展因子为默认值
则最佳值设置:(7/0.75)+1=10
HashMap 初始化时可以设置容量参数,比如说你有7个参数,你可能会默认设置为7,但是这么设置其实是有问题的。
原因
HashMap 会根据用户的传值去选择大于这个值的第一个二的幂作为容量。
这么做是因为通过二的幂用来哈希寻址的方法是最高效的。
最佳值设置
(期望的容量值/扩展因子)+1
例如:期望容量值为7,扩展因子为默认值
则最佳值设置:(7/0.75)+1=10