1

如果我使用HashMap其中键是已定义类的对象,那么哈希图是否仍会提供 O(1) 性能?

我认为它不应该提供 O(1) 性能,因为用户定义对象的哈希键只返回键的地址,所以会有更多的冲突。

4

1 回答 1

1

O(1)HashMap 中的关键搜索并不完全复杂。其次,这取决于您如何定义您的hashCode()方法equals

如果您遵循 2 个相等对象具有相同哈希码的合同,并且如果对象具有相同的哈希码,那么它们可能相等也可能不相等,那么是的,您将实现该 appox。的复杂度O(1)

编辑:要保持复杂性 O(1),您必须提供良好的散列函数才能获得良好的分布。

于 2013-09-06T16:46:33.563 回答