跳转到主内容 链接 搜索 菜单 展开 文档 (外部链接)

常见问题

与 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。