Java 中的 HashMap 和列表协调

HashMaps and Lists reconciliation in Java

我的问题是我需要一个 HashMap,当调用 hashMap.get(key) 时,它 return 是对内部 LinkedList 的引用——而不仅仅是 return 对应于关键。

根据我收集到的信息,LinkedHashMap 使双向链表能够占用每个映射条目以进行冲突处理。但是,我希望能够获得对封装映射到其中的所有值的总体 LinkedList 的引用(共享 LinkedList 的每个对象也共享一个我非常感兴趣的特定功能,因为我覆盖了哈希码函数)。

换句话说,我的目标是避免 LinkedHashMap 内置的链表自动遍历 class 并且只希望列表本身的引用能够操作。

除了能够使用 linkedHashMap.put(key, value) 调用将新值添加到 LinkedLists 的末尾之外,我还希望对这个引用进行 returned。

任何指点将不胜感激。

LinkedHashMap 只是按定义的顺序存储它的键(A LinkedList 支持 KeySet)。这与它如何处理碰撞无关。

对于您所描述的内容,我认为您必须自己实施。您基本上是在创建一个 Map<KeyType, List<EntryType>>,其中包含一个附加到关联列表的 "put" 函数。代码量不大。

不过,我可能不会让它实际扩展 Map,因为您所描述的内容与该接口并不匹配。