Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果我使用HashMap其中键是已定义类的对象,那么哈希图是否仍会提供 O(1) 性能?
HashMap
我认为它不应该提供 O(1) 性能,因为用户定义对象的哈希键只返回键的地址,所以会有更多的冲突。
O(1)HashMap 中的关键搜索并不完全复杂。其次,这取决于您如何定义您的hashCode()方法equals。
O(1)
hashCode()
equals
如果您遵循 2 个相等对象具有相同哈希码的合同,并且如果对象具有相同的哈希码,那么它们可能相等也可能不相等,那么是的,您将实现该 appox。的复杂度O(1)。
编辑:要保持复杂性 O(1),您必须提供良好的散列函数才能获得良好的分布。