HashMap中为什么初始化的时候,要使用移位运算而不是直接指定值?

很成立 发布于 2016/09/18 10:25
阅读 411
收藏 0

一个初始容量为16,最大容量为2的30次方;为什么不直接使用16和1073741824?

加载中
0
GestureWei
GestureWei
便于阅读和修改,防止手抖写错不是2的幂,这个跟直接写数值是等价的,编译时计算
很成立
很成立
回复 @GestureWei : 好的,谢谢解答
GestureWei
GestureWei
@很成立 是的,如果用eclipse等IDE,就可以看到运算之后的值
很成立
很成立
编译时计算是不是编译成class文件的时候就运算好,对实际使用时的性能没有任何影响?
0
325G
325G

hash表容量必须是2的幂 这样写可读性高而且易于修改

返回顶部
顶部