对于方法的获取哈希 table

For of a method get of a hash table

为什么 forkey[i] == null 时停止,我不太明白,谢谢你帮我解决这个问题!

public Val get(Key key) {
    int i;
    for (i = hash(key); keys[i] != null; i = (i+1) % M)
        if (keys[i].equals(key)) break;
    return vals[i];
}

给定 for (A; B; C)A 在开始时运行一次,然后如果 Btrue 它执行一次循环,然后执行 C并再次检查 B。一旦 Bfalse,循环终止。

在你的例子中,如果 key[i] == null 那么 B 就是 false,这就是 for 循环停止的原因。