常见问题
我遇到了"泛型数组创建"错误。
确保使用
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。整数除法可能会如何导致错误?