【发布时间】:2012-11-02 19:36:30
【问题描述】:
在java中是否有一个内置的hash map的实现,它的值是链表?
如果我说:
map.put(1, "A");
map.put(1, "B");
然后它会自动将 A 和 B 添加到链表中。当我从地图中检索时,如:
map.get(1)
我得到一个包含它们的列表?
【问题讨论】:
标签: java linked-list hashmap
在java中是否有一个内置的hash map的实现,它的值是链表?
如果我说:
map.put(1, "A");
map.put(1, "B");
然后它会自动将 A 和 B 添加到链表中。当我从地图中检索时,如:
map.get(1)
我得到一个包含它们的列表?
【问题讨论】:
标签: java linked-list hashmap
Java 没有,但您可以使用 MultiMap 中的 Google Guava。
类似于 Map 的集合,但可以将多个值与单个键相关联。如果您使用相同的键但值不同的两次调用 put(K, V),则多重映射包含从键到两个值的映射。
get(K)、keySet()、keys()、values()、entry() 和 asMap() 方法返回作为多图视图的集合
这篇文章Multimaps - Google Guava 让您全面了解如何使用它,以及如何使用HashMap 使用List 作为值。
【讨论】:
不,只是构建你自己的。
首先你取一个HashMap,如果key不存在你把linkedList放进去……
简单...
【讨论】: