ホームページ  >  記事  >  Java  >  複数のキーを持つマップを実装するにはどうすればよいですか?

複数のキーを持つマップを実装するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-06 19:40:02787ブラウズ

How to Implement a Map with Multiple Keys?

複数のキーを使用したマップの実装

従来の Map データ構造は、値ごとに 1 つのキーで動作します。ただし、一部のシナリオでは、複数のキーを使用して値にアクセスできるマップのような構造が必要です。

このコンテキストでは、キーが一意であることが保証されている場合、効果的なアプローチは 2 つの別個のマップを使用することです。 K1、V>およびマップ。この設定により、K1 または K2 をキーとして使用して値を効率的に取得できます。

便宜上、これら 2 つのマップと対話するための統一インターフェイスを提供するようにラッパー クラスを設計できます。このラッパー クラスは、getByKey1(K1 key)、getByKey2(K2 key)、containsKey1(K1 key)、containsKey2(K2 key) などのメソッドを定義できます。

タプルまたはペアをキーとして使用することに注意してください。単一のマップでは、キーの 1 つのみに基づいて値を検索できなくなるため、要件は満たされません。マップは効率的なアクセスのためにハッシュ コードと等価性チェックに依存しているため、単一のキー オブジェクト内で複数のキーを処理するのは非現実的です。

以上が複数のキーを持つマップを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。