【问题标题】:How collisions are handled in java LinkedHashMap?java LinkedHashMap中如何处理冲突?
【发布时间】:2021-09-06 04:25:14
【问题描述】:

我知道,在 HashMap 中,如果发生冲突,则在每个索引处使用 LinkedList 处理冲突,新节点将插入到 LinkedList 的末尾,但在 LinkedHashMap 的情况下,我们使用双向链表,但要保持此处的顺序next 和 prev 引用现在已经被占用了如何处理冲突?

【问题讨论】:

  • 文档没有回答这个问题吗?为什么不直接阅读the source code
  • 另外,如果 DLL 用于跟踪插入顺序(以便映射条目可以按照它们插入的相同顺序枚举回来),那么碰撞有什么区别?项目最终被地图插入/跟踪的位置对设备而言几乎没有影响,该设备与地图分开跟踪项目的插入顺序

标签: java linkedhashmap hash-collision


【解决方案1】:

LinkedHashMap主要关注建立一个链表来管理地图的bucket访问。但是由于LinkedHashMap 子类HashMap 哪个子类AbstractMap,这些祖先类仍然用于处理每个桶的多个值(即碰撞)。

【讨论】:

    猜你喜欢
    • 2012-08-24
    • 2011-06-26
    • 2020-01-28
    • 2017-07-14
    • 2013-09-01
    • 2015-04-07
    • 1970-01-01
    • 2013-07-05
    • 2010-12-02
    相关资源
    最近更新 更多