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

常见问题

我遇到了"泛型数组创建"错误。

确保使用 new Collection[size] (Collection<Node>[]) new Object[size] 来实例化你的桶表!

边界情况测试失败

Bee 类有一些奇怪的 equals hashCode 实现。如果你在这个测试上卡住了,使用调试器看看参考映射(即 Java 内置的 HashMap)期望什么值。手动遍历预期行为也可能有帮助。

一些需要思考的问题:

参考映射有一些(可能)出乎意料的行为。 为什么 参考映射会那样表现(记住 equals hashCode !)?你的映射表现一样吗?

我在调整大小方面遇到了问题,得到"预期大于这个值,但实际是这个值"的错误。

例如,你可能会看到这个错误消息:

expected to be greater than: 16
but was                    : 16

如果你遇到这个问题,一个常见问题是负载因子的计算方式。负载因子可以通过哈希表中的元素总数除以桶的总数来得到——这两个值通常都存储为整数,但请记住,负载因子是一个 double。整数除法可能会如何导致错误?