【发布时间】:2020-04-16 08:55:35
【问题描述】:
几乎是IdentityHashCode in HashMap's bucket 的扩展:
我了解 Java 8 HashMap 实现中的树箱被吹捧为将查找的最坏情况复杂性降低到 O(lg(n)) 而不是 O(n) ,例如对于大型垃圾箱。但是对于非 Comparable 类,它们使用identityHashCode 进行排序插入。因此,当finding 时,我们需要在两个子树中查找。
现在查看两个子树会立即转换最坏情况的复杂度:O(n) 而不是 O(lg(n))。所以所有转换成树的辛勤工作,然后在UNTREEIFY_THRESHOLD 上取消树化都是浪费的,我们没有任何优势?
我错过了什么?
【问题讨论】: