对于方法的获取哈希 table
For of a method get of a hash table
为什么 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];
}
给定 for (A; B; C)
,A
在开始时运行一次,然后如果 B
是 true
它执行一次循环,然后执行 C
并再次检查 B
。一旦 B
为 false
,循环终止。
在你的例子中,如果 key[i] == null
那么 B
就是 false
,这就是 for
循环停止的原因。
为什么 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];
}
给定 for (A; B; C)
,A
在开始时运行一次,然后如果 B
是 true
它执行一次循环,然后执行 C
并再次检查 B
。一旦 B
为 false
,循环终止。
在你的例子中,如果 key[i] == null
那么 B
就是 false
,这就是 for
循环停止的原因。