多键多值映射可能吗?
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 实现。
我看到有一个 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 实现。