ソフトウェア開発では、キーと値のペアの効率的な取得と保存を可能にするデータ構造は、多くの場合マップと呼ばれます。または辞書。従来のマップには各値を識別する単一のキーがありますが、シナリオによっては、複数の個別に型指定されたキーを持つマップが必要になる場合があります。
K1 と K1 として示される 2 つの一意のキーに基づいて値を格納するマップの要件を考えてみましょう。 K2。このニーズに効果的に対処するには、いくつかの考慮事項を検討する必要があります。
実際的なアプローチの 1 つは、2 つの別個のマップを内部で使用することです。この構成では、K1 または K2 を使用して値に直接アクセスできます。たとえば、Map
利便性を考慮して単一のインターフェースを使用したい場合は、必要なメソッドを実装するラッパー クラスの作成を検討してください。このラッパー クラスは、基になる 2 つのマップを内部で管理し、データを操作するための単純化された一貫した API を提供します。
潜在的なキー構造としてタプルまたはペアが提案される場合がありますが、 、指定されたシナリオには完全に適しているわけではありません。タプルまたはペアは、マップ内のキーとして使用される場合、K1 と K2 の両方を含む結合されたハッシュ コードのみに依存します。その結果、マップでは等価性チェックに結合されたハッシュ コードが使用されるため、2 つのキーのうちの 1 つだけを使用して値を検索することには問題が生じます。
Java で複数のキーを持つマップを実装するには、次のようにします。 2 つの別々の内部マップ、またはこれらのマップを管理するラッパー クラスを採用することで、効果的なソリューションが提供されます。これらのアプローチのどちらを選択するかはアプリケーションの特定の要件と設定によって異なりますが、どちらの方法でもマルチキー マップを操作するための信頼できる方法が提供されます。
以上がJava で複数のキーを持つマップを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。