最佳答案
我们习惯于说 HashMap
get/put
运算是 O (1)。但是它取决于散列实现。默认对象散列实际上是 JVM 堆中的内部地址。我们是否确定它足够好,声称 get/put
是 O (1) ?
可用内存是另一个问题。正如我从 javadocs 中了解到的那样,HashMap
的加载因子应该是0.75。如果我们在 JVM 中没有足够的内存,并且负载因子超出了限制,那么该怎么办?
所以,看起来 O (1)是不能保证的。这是有意义的还是我遗漏了什么?