1

可能重复:
Java 中的双向多值映射

我需要一个实现 N 对 N 关系的数据结构。类似于Map<Foo,Bar>with 调用的东西:

getValues(Foo foo): Collection<Bar>
getValues(Bar bar): Collection<Foo>

以及常规管理的方法,例如:

removeKey(Foo)   [remove all the <Foo,X> entries]
removeValue(Bar) [remove all the <X,Bar> entries]

是否有一些我可以使用的库或者我应该实现它?谢谢

4

1 回答 1

2

为什么不创建 2 个映射,每个映射从键到值集合:

Map<Foo, Collection<Bar>>Map<Bar, Collection<Foo>>

如果您希望可以创建一个类来包装(也许对类型使用一些泛型,以便您可以轻松地重用它)它们内部并提供您需要的方法

于 2012-12-05T08:52:33.137 回答