可以使用多键多值映射?

时间:2015-12-04 00:06:42

标签: java dictionary guava

我发现有Multimap允许键http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Multimap.html

的重复值

我还注意到guava有一个Table,它允许多个键,但没有重复的值。 http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Table.html

我无法找到允许重复值的“表格”或允许多个键的“Multimap”的任何地方。

这是已经存在的东西,还是我必须自己实现?

我只想实现一个Multimap,其中包含2个键,即<K1, K2, Value>

3 个答案:

答案 0 :(得分:2)

我没有意识到支持这种需要。然而,仅仅例如,并不是非常困难。使用Multimap<MyK1AndK2Pair, Value>自己编写自定义对类,或者反过来使用Table<K1, K2, List<Value>>并自行管理。

答案 1 :(得分:1)

嵌套地图怎么样?

Multimap<K1, Multimap<K2, Value>> doubleMultiMap = new HashMultiMap<>();

答案 2 :(得分:0)

我认为你可以使用Apache Commons的MultiKeyMap。它的描述说 -

使用多个键映射值的Map实现。