从HashMap文档中我们可以读到:
请注意,使用具有相同 hashCode() 的多个键肯定会降低任何哈希表的性能。为了减轻影响,当键是 Comparable 时,此类可以使用键之间的比较顺序来帮助打破平局。
我知道如果密钥实现Comparable接口,在许多哈希冲突时,桶可以从 转变List为TreeSet。
是否可以设置容量,或检查何时转换?
这不是一个List,而是一个LinkedList
它不是一棵TreeSet,而是一棵完美平衡的红黑树
它没有,但实现了 Comparable
这并不取决于你是否正在实施Comparable——bucked 仍然会从 a 转变LinkedList为红黑树。Comparable只是让确定条目是红色还是黑色(即向左或向右移动)变得更容易。
当移动到树时,会根据总体存在多少条目以及该特定存储桶中存在多少条目来做出决定。
如果您真的愿意, 还有更多内容可以在我的其他答案中阅读。
选择正确的容量并非易事,因为对于 来说,这里HashMap还有更多内容需要阅读
| 归档时间: |
|
| 查看次数: |
905 次 |
| 最近记录: |