【问题标题】:Why can ConcurrentHashMap elements also be trees [duplicate]为什么 ConcurrentHashMap 元素也可以是树[重复]
【发布时间】:2019-09-16 21:31:18
【问题描述】:

我看到 ConcurrentHashMap 将其(键、值)对存储在 a listNode 中。但是,Node 也可以将be organised 用作TreeBin

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

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

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

【问题讨论】:

    标签: java hashmap concurrenthashmap


    【解决方案1】:

    二叉树结构可以方便地对元素进行排序,无论是按其自然顺序,还是按哈希码(如果项目不可比较的话)。对于相当大的哈希桶,这允许快速检索元素。

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

    【讨论】:

      猜你喜欢
      • 2011-02-05
      • 1970-01-01
      • 1970-01-01
      • 2011-01-20
      • 1970-01-01
      • 2020-04-27
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      相关资源
      最近更新 更多