我应该使用以下哪个收集类数据

(key1, value1)
(key1, value2)
(key2, value3)
(key3, value3)

键和值不是唯一的

最佳答案

您可以滚动自己的实现:

Map<Key, List<Value>>
或使用Multimap from Guava,在他们的文档中将其解释为:

有两种方法可以从概念上考虑Multimap:作为从单个键到单个值的映射的集合:
a-> 1 a-> 2 a-> 4 b-> 3 c-> 5
或作为从唯一键到值集合的映射:
a-> [1、2、4] b-> 3 c-> 5

以下blog post解释了使用Guava集合的一些优点。
如果您对外部库有偏好,也可以使用MultiValueMap from the Apache Commons Collections解决相同的问题。

关于java - Java中适用于重复键,值对的收集类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22141178/

10-10 10:41