Java中的N对N索引关系

时间:2012-12-05 08:35:34

标签: java collections

  

可能重复:
  Bidirectional multi-valued map in Java

我需要一个实现N对N关系的数据结构。类似Map<Foo,Bar>的电话:

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]

我可以使用某些库,还是应该实现它?感谢

1 个答案:

答案 0 :(得分:2)

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

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

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