计算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
        
     评论
            
                
                隐私政策
            
            
                你无需删除空行,直接评论以获取最佳展示效果
            
        
            
        

                                    
                        