草庐IT

java - 是否存在 Java 7's Hashmap implementation is preferred to Java8' s 实现的场景

coder 2024-03-08 原文

从 Java8 开始,我们钟爱的 HashMap 的行为有点不同。 如果 key 实现了一个可比较的接口(interface),每个散列将包含一个平衡树而不是链表。

这将冲突情况下的最坏时间复杂度从 O(n) 降低到 O(log(n)),参见 JEP180

是否存在从 Java7 升级到 Java8 会导致 HashMap 性能下降的情况?

最佳答案

Java8 将在 > N 的桶中的条目数中使用平衡树,其中选择 N empirically ,如果该数字 <>

我也不确定创建和查询树的开销是否值得小 N 的利润。

关于java - 是否存在 Java 7's Hashmap implementation is preferred to Java8' s 实现的场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40884723/

有关java - 是否存在 Java 7's Hashmap implementation is preferred to Java8' s 实现的场景的更多相关文章

随机推荐