2015-12-04 19 views
1

我看到有一个Multimap,允许重复值的关键http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Multimap.html多键多值地图可能吗?

我也注意到番石榴具有Table它允许多个键,但不重复的值。 http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Table.html

我找不到任何地方有一个允许重复值的“表”或允许多个键的“Multimap”。

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

我只是想实现一个Multimap 2键即<K1, K2, Value>

+0

你的意思是'k1','k2'应该用作一个条目的复合键吗?或者一个值可以通过'k1'或'k2'索引? – erickson

+0

K1和K2都应该是这个值的复合键 –

+0

好的,[Louis钉牢它](http://stackoverflow.com/a/34078721/3474)然后。 (他开发番石榴。) – erickson

回答

1

没有什么我知道,它支持这一需求。然而,这仅仅是例如请使用Multimap<MyK1AndK2Pair, Value>,您可以自己编写自定义对类,或者反过来使用Table<K1, K2, List<Value>>并自行管理。

+0

darn,好的,谢谢。 –

1

嵌套地图呢?

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

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

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