在Java中使用LinkedList的哈希映射

时间:2012-11-02 19:36:30

标签: java linked-list hashmap

java中是否有内置的哈希映射实现,其值是链表?

喜欢,如果我把:

 map.put(1, "A");
 map.put(1, "B");

然后它会自动将A和B添加到链接列表中。当我从地图中检索时,如:

  map.get(1)

我找回包含它们的列表?

3 个答案:

答案 0 :(得分:4)

Java没有它,但您可以使用MultiMap中的Google Guava

  

类似于Map的集合,但可以将多个值与单个键相关联。如果使用相同的键但不同的值调用put(K,V)两次,则multimap包含从键到两个值的映射。

     

方法get(K),keySet(),keys(),values(),entries()和asMap()返回作为multimap视图的集合

本文Multimaps - Google Guava为您提供了有关如何使用它的完整信息,以及如何使用HashMap作为值List来完成此操作。

答案 1 :(得分:2)

第二次投入将覆盖第一次投入。你会得到B作为回应。

根据javadoc

  

如果地图以前包含该键的映射,则替换旧值

如果你想保留这两个条目,你需要使用第三方库google guava MultiMap

答案 2 :(得分:1)

不,只是建立自己的。

首先你拿一个HashMap,如果键不存在你把linkedList放在......

...简单