9
从Java8开始,我们心爱的HashMap
的行为有点不同。 如果密钥实现可比较的接口,则每个哈希将包含平衡树而不是链接列表。有没有Java7的Hashmap实现比Java8的实现更受欢迎的场景
这减少了从O(n)
到O(log(n))
碰撞的情况下,最坏的时间复杂度,看到JEP180
有一种情况,就是升级从Java7到Java8会导致的HashMap
作为结果的性能下降?
从Java8开始,我们心爱的HashMap
的行为有点不同。 如果密钥实现可比较的接口,则每个哈希将包含平衡树而不是链接列表。有没有Java7的Hashmap实现比Java8的实现更受欢迎的场景
这减少了从O(n)
到O(log(n))
碰撞的情况下,最坏的时间复杂度,看到JEP180
有一种情况,就是升级从Java7到Java8会导致的HashMap
作为结果的性能下降?
Java8将在> N中使用桶中条目数量的平衡树,其中N选择empirically,如果该数字为< K,则再次使用列表。如果桶中的条目数量“treefyng/unreeifying”经常发生变化。这可能由于特定的散列函数而发生。
而且我不知道,如果开销用于创建和查询树是值得小N.
利润我想,如果你有一个非常缓慢的执行compareTo'的'性能会恶化。 ;) – marstran