1

重複の可能性:
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]

使用できるライブラリはありますか、それとも実装する必要がありますか?ありがとう

4

1 に答える 1

2

キーから値のコレクションまで、それぞれ2つのマップを作成してみませんか。

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

必要に応じて、ラップするクラスを作成し(おそらく、型にいくつかのジェネリックを使用して、簡単に再利用できるようにします)、それらを内部で作成し、必要なメソッドを提供します。

于 2012-12-05T08:52:33.137 に答える