您的位置:首页 > 编程语言 > Java开发

HashMap源码分析

2015-04-01 11:30 211 查看

转自:HashMap源码分析  

需要提到的是,HashMap内部的容量设计为2的幂,是为了方便扩容和取余运算,都只需要采用二进制位运算即可

1.扩容:newCapacity <<= 1;

2.取余:当Length=2^n时,hash%Length=hash&(Length-1)

学过数论的应该知道,取余运算相对耗时,而把除数设计为2的幂可以简化为按位与运算从而提高程序计算速度。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 源码