计算Map初始容量算法
在实际开发中经常需要使用到Map,但给Map一个怎样的初始容量比较合理?
众所周知是最接近(要大于)数据长度的2的N次方
那么,如何计算?
欢迎指出错误
/**
* 计算Map初始容量
* @author 枫铃也
* @since 2019-10-09 15:51
*/
public class CapacityUtil {
private static final double MODULE = 2;
public static int getCapacityFactor(int size) {
int n = size;
int power = 0;
while (n > 1) {
power++;
n >>>= 1;
}
int capacity = (int) Math.pow(MODULE, power);
if (capacity < size || capacity % MODULE != 0) {
capacity *= MODULE;
}
return capacity;
}
}
欢迎指出错误
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Salted Fish
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果