常见问题
与 iterator 相关的错误
如果你遇到这个错误:
java: bstmap.BSTMap 是 not abstract and does not override abstract method iterator() in java.lang.Iterable
你需要在你的 BSTMap 中添加以下方法:
public Iterator<K> iterator() {
throw new UnsupportedOperationException();
}
为什么 BSTMap 需要这个?这是因为
Map61B
接口扩展了
Iterable
,这意味着任何实现
Map61B
的东西也必须有
Iterable
方法。
treeTest 中的 size 错误
如果你在
treeTest
的这一行出错:
assertThat(b.size()).isEqualTo(5)
请记住,
put
并不总是向树中添加新值。如果使用已存在的键调用
put
,它应该只是更新值,这不应该改变 size。