我需要一个实现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]
我可以使用某些库,还是应该实现它?感谢
答案 0 :(得分:2)
为什么不创建2个地图,每个地图从键到值集合:
Map<Foo, Collection<Bar>>
和Map<Bar, Collection<Foo>>
如果您希望可以创建一个类来包装(也许使用一些类型的泛型,以便您可以轻松地重用它们),并在内部提供您需要的方法