欢迎光临散文网 会员登陆 & 注册

被面试官狂问HashMap:万般无奈只好肝了这套HashMap底层原理源码教程,

2023-08-22 21:31 作者:bilibili00007  | 我要投稿


table赋值给tab,是因为tab是局部变量,而且被多次使用,相比堆中的table效率更高


取余和&运算的区别?

高位都是0,&结果都是0,低位都是1,&之后就是低位的值。

保证了hash扰动之后的结果肯定在16以内,而且是均匀分布的。

这也是为什么容量必须是2的幂次方的原因。否则就无法正常的扰动。



指定容量非2的幂次方,hashmap也是构造一个2的幂次方的数组。



如果不做右移,高位就不会参与到后续的运算。



被面试官狂问HashMap:万般无奈只好肝了这套HashMap底层原理源码教程,的评论 (共 条)

分享到微博请遵守国家法律