为什么ConcurrentHashMap元素也可以是树



我看到ConcurrentHashMap将其(键,值(对存储在Node列表中。但是,Node也可以组织为TreeBin

因此,ConcurrentHashMap 的底层数据结构是一个列表,其中包含独立或树的元素。

为什么数据结构既不是列表也不是树?

这种更复杂的实现有什么用?

二叉树结构允许按元素的自然顺序或哈希代码(如果项目在其他方面不具有可比性(轻松排序。 对于相当大的哈希桶,这允许快速检索元素。

然而,在较小的哈希桶中,维护此树的成本远远大于搜索树结构所带来的任何节省。 在这种情况下,平均而言,列表将更有效率。

相关内容

最新更新