2015-12-03 36 views
1

为什么这for停止当key[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]; 
} 

回答

1

在开始考虑for (A; B; C)A运行一次,那么如果Btrue它执行一次循环,然后再次执行C和检查B。只要Bfalse,循环终止。

在你的情况下,如果key[i] == null然后Bfalse,这就是为什么for循环停止。