如果我使用HashMap< String,ArrayList< String>>在Java中 [英] If I use HashMap<String, ArrayList<String>> in Java
问题描述
我在Java中使用 HashMap< String,ArrayList< String>>
当输入值为来自
例如,输入值为 [1,stack]
, [2,over]
, [1,flow]
.....
For example, input value is [1, "stack"]
, [2, "over"]
, [1, "flow"]
.....
我想输入值 [1,[stack,flow]]
, [2,over]
在HashMap中。
I want to enter value [1, ["stack", "flow"]]
, [2, "over"]
in HashMap.
但是键值是重复的。所以,HashMap被覆盖了。
But key value is duplicate. So, HashMap was overwrite.
那么我该怎么办?
推荐答案
尝试 Guava Multimap :
用Java表示图形的传统方法是
Map< V,Set< V>
这在很多方面都是尴尬的。 Guava的Multimap框架可以方便地处理从键到多个值的映射。
The traditional way to represent a graph in Java is
Map<V, Set<V>>
, which is awkward in a number of ways. Guava's Multimap framework makes it easy to handle a mapping from keys to multiple values.
A ListMultimap
将映射到一个列表
的值,跟踪他们的订单,而一个 SetMultimap
会将键映射到一个设置不同值的
。
A ListMultimap
will map keys to a List
of values, keeping track of their order, while a SetMultimap
will map keys to a Set
of distinct values.
这篇关于如果我使用HashMap< String,ArrayList< String>>在Java中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!