[解決済み] 複数のキーを持つMapを実装するには?重複
2022-04-22 04:13:08
質問
Mapのように動作するデータ構造が必要です。
しかし、その値にアクセスするために複数の(異なる型の)キーを使用します。
(あまり大雑把にせず、仮に
に
キー)
キーは一意であることが保証されています。
のようなものです。
MyMap<K1,K2,V> ...
みたいなメソッドで。
getByKey1(K1 key)...
getByKey2(K2 key)...
containsKey1(K1 key)...
containsKey2(K2 key)...
何かご提案がありますか?
しか思いつきません。
内部で2つのMapを使用するクラスを作成する。
EDIT
を使ったほうがいいという意見もあります。
タプル
, a
ペア
のキーとして使用することができます。
Java の Map ですが、この
は機能しない
を使用します。
上に書いたように、指定した2つのキーのうち1つだけで値を検索できるようにする必要があります。
マップはキーのハッシュコードを使用し、それらが等しいかどうかをチェックします。
どのように解決するのですか?
2つの地図 1枚
Map<K1, V>
と1つの
Map<K2, V>
. どうしてもインターフェースが必要な場合は、当該メソッドを実装したラッパークラスを記述してください。
関連
-
スキャナは、タイプに解決することはできません最もルーキー初心者の質問
-
サーブレットクラスのインスタンス化エラーの解決法
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] 値のペアのJavaコレクション?(タプル?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
myeclipseでコンパイルするとAntエラーが発生する javaの例外が発生しました。
-
javaの実行中に「javaの例外が発生しました」と表示された場合はどうすればよいですか?
-
ファインバグタイプ
-
Android Studio 3.1.2 で v4, v7 パッケージが見つからない シンボル 'AppCompatActivity' を解決できない
-
javaの模造品QQ WeChatのチャットルーム
-
Intellij IDEAのエラー「CreateProcess error=2, system could not find specified file」に対する完璧な解決策です。
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException: 1
-
javax.net.ssl.SSLException: 読み取りエラー: ssl=0xdeae5100: システムコール中の I/O エラー、接続 res
-
IDEA パッケージステートメントの欠落
-
ブラウザでの大容量ファイルスライスアップロード(Javaサーバサイド実装)