如果我使用的HashMap (If I use HashMap> in Java)

2019-10-17 00:27发布

我使用HashMap<String, ArrayList<String>>在Java中。

当输入值来了,

例如,输入值是[1, "stack"][2, "over"][1, "flow"] .....

我想输入值[1, ["stack", "flow"]] [2, "over"]在HashMap中。

但是,关键的值是重复的。 所以,HashMap的是覆盖。

所以,我能做些什么?

Answer 1:

尝试番石榴Multimap之 :

代表Java中的图形的传统方法是Map<V, Set<V>> ,这是在许多方面的尴尬。 番石榴的Multimap之框架可以很容易地处理来自键多个值的映射。

一个ListMultimap将键映射到一个List值,跟踪他们的订单,而SetMultimap将键映射到一Set不同的值。



Answer 2:

调用getMap 。 如果它返回一个ListSet可能更合适)补充。 如果返回null ,创建一个集合,添加值,把它在地图上。

更好的,使用一些第三方的多重映射。



文章来源: If I use HashMap> in Java