【发布时间】:2013-03-16 20:38:57
【问题描述】:
只是想通过查看代码来了解Java HashMap 的工作原理。添加元素时,会发生以下情况:
- 得到key的hashcode
- 对结果应用哈希函数
- 方法 indexFor 应用于 2 的结果。这给出了相应存储桶中的第一个条目。然后对桶中的链表进行迭代 - 找到末尾并添加元素。
int indexOf(int h, int length) {
return h & (length-1);
}
我无法理解 indexOf 方法中的技巧。谁能解释一下?
谢谢。
【问题讨论】: