多键多值映射可能吗?

Multi Key Multi Value map possible?

我看到有一个 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

我在任何地方都找不到允许重复值的 "Table" 或允许多个键的 "Multimap"。

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

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

据我所知,没有任何东西可以支持这种需求。但是,仅例如在您自己编写自定义对 class 的地方使用 Multimap<MyK1AndK2Pair, Value>,或者相反地使用 Table<K1, K2, List<Value>> 并自己管理事物。

嵌套地图呢?

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

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

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