- 博客(1)
- 收藏
- 关注
原创 HashMap中相同桶中的hash值不一定相同
HashMap的put方法会根据放入对象的hash值和底层桶的数量去计算放入的位置,源码中是根据对象的hash值和桶的数量-1做与运。这其实和取模运算差不多,而桶的数量只能是2的n次方是为了使与运算和取模运算的结果近似相同。所以不同的hash值在经过计算之后可能位于相同的桶中(hash冲突后形成链表或红黑树)。能证明这个观点的最佳方式是将加载因子调整到大于1的数值,hash值不同的对象放入了相同的
2018-01-08 13:48:51 5609 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人