複数のキーを使用したマップの実装
従来の Map データ構造は、値ごとに 1 つのキーで動作します。ただし、一部のシナリオでは、複数のキーを使用して値にアクセスできるマップのような構造が必要です。
このコンテキストでは、キーが一意であることが保証されている場合、効果的なアプローチは 2 つの別個のマップを使用することです。 K1、V>およびマップ
便宜上、これら 2 つのマップと対話するための統一インターフェイスを提供するようにラッパー クラスを設計できます。このラッパー クラスは、getByKey1(K1 key)、getByKey2(K2 key)、containsKey1(K1 key)、containsKey2(K2 key) などのメソッドを定義できます。
タプルまたはペアをキーとして使用することに注意してください。単一のマップでは、キーの 1 つのみに基づいて値を検索できなくなるため、要件は満たされません。マップは効率的なアクセスのためにハッシュ コードと等価性チェックに依存しているため、単一のキー オブジェクト内で複数のキーを処理するのは非現実的です。
以上が複数のキーを持つマップを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。