- 查看HashMap 源码发现 发现这个static final int DEFAULT_INITIAL_CAPACITY = 1 << 4;值
为16. - 这个是 位移算法。
例如:
4<<2
4的2进制是:0000 0100
<< :表示往左移动2位:0001 0000
运算:4先转换成二进制 ,往左移动两位,在转换成10进制即得出值:16
简单计算方式:4<<n = 4*2的n次方
十进制转换2进制方法:
2进制转换成10进制:
从左边第一位数乘以2的n-次方(幂),n代表该数字从右到左数起的位数。加上从左边第二位数乘以2的n-1,加上从左边第三位 ,第四位...等等 一直到最后一个数。看图: