ホームページ >Java >&#&チュートリアル >異なるタイプの複数のキーを含むマップを実装するにはどうすればよいですか?

異なるタイプの複数のキーを含むマップを実装するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-08 18:51:02492ブラウズ

How Do You Implement a Map with Multiple Keys of Different Types?

カスタム マップ構造内の複数のキー

データ構造の領域では、Map インターフェイスはキーを管理するための貴重なツールとして機能します。値のペア。しかし、それぞれが異なるタイプの複数のキーを持つマップが必要になった場合はどうなりますか?

この疑問は、複数の一意のキーを使用してデータを取得および保存できるデータ構造が必要な場合に生じます。単一のキーのみを受け入れる Java のネイティブ Map とは異なり、このカスタマイズされた実装は、2 つの異なる型のキーに対応することを目的としています。

考えられる解決策: 複数のマップ

1 つのアプローチ複数のキーを持つマップを実装するには、内部的に 2 つの別個のマップを使用します。 1 つのマップ Map はタイプ K1 のキーを値にマップし、もう 1 つのマップ Map はタイプ K2 のキーを同じ値にマップします。

このソリューション以下を通じて K1 または K2 キーを使用して値にアクセスできるようにすることで、柔軟性を提供します。メソッド:

  • getByKey1(K1 key): 指定された K1 キーに関連付けられた値を取得します。
  • getByKey2(K2 key) : 指定された K2 に関連付けられた値を取得します。 key.
  • containsKey1(K1 key): マップに指定された K1 キーが含まれているかどうかを確認します。
  • containsKey2(K2 key): かどうかを確認します。マップには指定された K2 が含まれていますkey.

ラッパー クラスのアプローチ

より一貫したインターフェイスが必要な場合は、クラス内で 2 つの内部マップをラップすることを検討できます。このラッパー クラスは、getByKey1、getByKey2、containsKey1、containsKey2 などのメソッドを公開し、複数のマップの機能を保持しながらシームレスなユーザー エクスペリエンスを提供します。

本質的に、このアプローチにより、次のようなカスタム マップ構造を作成できます。データへのアクセスと保存のための複数のキーの使用をサポートします。標準の単一キー マップでは不十分な状況に便利なソリューションを提供します。

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

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