私は、指定された値にマップされたすべてのキーを返すメソッドを持つjava.util.Mapの実装を探しています。つまり、複数のキーが同じ値。私はGoogle CollectionsとApache Commonsを見て、何も気付かなかった。もちろん、私はキーセットを繰り返し、それぞれの対応する値をチェックしたり、2つのマップを使用したりできましたが、既に用意されているものがあることを期待していました。getKeysForValueをサポートするJavaマップの実装を探しています
1
A
答えて
2
その解決策があなたには良いのかどうかはわかりませんが、キーから値への標準マップを使用し、値からキーへのMultiMapを簡単に実装できます。
マップからキーを削除すると、2つの構造体IEの同期化に注意する必要があります。マルチマップの値にマップされたキーのセットからキー自体を削除する必要があります。
実装するのは難しくないかもしれません。おそらくメモリオーバーヘッドの面から少し重いかもしれません。
1
bidirectional mapは、commons collectionsに実装されています。
+0
実際には双方向マップは機能しません。私はそれを明確にするために質問を編集しましたが、キーと値の間に1対1のマッピングはありません。 – Joel
0
値オブジェクトには、すべてのキーを保持するプロパティ(ArrayList多分型の)があります。 次に、HashMap(または使用するマップインプリメンテーション)を拡張し、putをオーバーライドして、キーを配置してオブジェクト化するときに、そのキーをオブジェクトのキーリストに追加するようにします。
0
複数のキーを持つ値をサポートする既成のクラスが見つかりません。ただし、Apache Commons DualHashBidiMapを再実装するには、HashMapsの代わりにMultiHashMapを使用します。
関連する問題
- 1. ダイアログドッキングを実装するjQueryプラグインを探しています
- 2. Server Sent Events仕様のクライアントサイドのJava実装を探しています。
- 3. Javaでマップを実装する
- 4. SerialPortEventListenerを実装しています - java
- 5. Connected Component Labelingアルゴリズムの実装を探しています
- 6. javacのオーバーロード解決アルゴリズムを実装しているJavaコードを探しています
- 7. 2フェーズコミット - 実装を探しています
- 8. 良いHibernateサポートを備えた100%Javaファイルベースのデータベースを探しています
- 9. JavascriptでJava/C++ライブラリを実装する - 例を探す
- 10. Attachment(SwA)付きSOAPメッセージのWS-Securityを実装するためのJavaライブラリ/ APIを探しています
- 11. AJAXプロジェクトの実装に関するシンタックスガイダンスを探しています
- 12. GITをサポートするWindowsテキストエディタを探しています
- 13. php:メッセージキューイングをサポートする電子メールライブラリを探しています
- 14. AJAX TreeGridを実装する最適なソリューションを探しています
- 15. ReactJSで多言語サポートを実装しています
- 16. Javaマップの実装がHashCodeに基づいていない
- 17. OpenGLギアのC++実装を探している例
- 18. Javascriptの実装dilemna:メソッドオーバーライドのソリューションを持つクラスを探しています
- 19. Javaジェネリックス - マップのような高次関数を実装する
- 20. カードはOpenGL 4.1をサポートしていますが、スレッドではGL4実装をサポートしていませんか?
- 21. マップの適切な定義を探していて、ツリーを使ってマップを実装できるかどうかを確認するために、
- 22. C++のnsITreeView実装のサンプルを探す
- 23. すべてのJPA実装がライトビハインドキャッシュをサポートしていますか?
- 24. シンプルでパワフルなウィンドウワイルドカード( `*、?`)一致の実装を探しています
- 25. 最も近いキーを返すJavaマップ実装はありますか?
- 26. なぜjavaのHttpServletがシリアライザブルを実装していますか?
- 27. 私たちはTimeSpanクラスのJavaを実装しています
- 28. JavaのSetはUnionFindアルゴリズムを実装していますか?
- 29. nullの代わりにデフォルト値を返すJavaマップの実装
- 30. 操作を引数として取る式を実装する方法を探しています
ありがとうございました。私は2つのマップを使用することを考えました。 1つのマップに実装があるといいですが、2つのマップを同期させておくことについて心配する必要はありません。 – Joel
実装が存在しないように見えるので、これが最善の方法です。 – Joel