この投稿では、Javaで独自のPairクラスを実装する方法について説明します。

ペアは、2つのオブジェクトのタプルを格納するためのコンテナーです。 JDKは、Pairクラスの実装を提供していません。これは、Pairクラスが指定された値間の関係を指定していないことが原因である可能性があります。例を見てみましょう std::pair C++では、 firstsecond フィールドは何でもかまいません。 C++はデータが何であるかを示しません pair クラスストア。 Javaでは、 Map.Entry キーと値のペアを表す意味のある名前を持つ優れた例です。

 
ペアに格納されたデータ間に意味のある関係はありませんが、プログラマーはJavaのこの機能を見逃すことがよくあります。説明したように、回避策があります ここ、詳細には、ギャップを埋めるために。しかし、Javaで独自のPairクラスを実装して、スタイルに合わせてカスタマイズできるのは素晴らしいことではないでしょうか。

 
ええと、Pairクラスを書くことは実際にはJavaで非常に簡単です。以下は、JavaでのPairクラスの簡単なカスタム実装です。

  1. 2つのパブリックフィールド– firstsecond、C++と同じように。
  2. プライベートコンストラクタ。
  3. 静的ファクトリメソッド of() 不変の型付きを作成するため Pair インスタンス(内部でプライベートコンストラクターを呼び出します)。
  4. オーバーライドされたhashCode()およびequals()メソッドハッシュベースのコレクションで目的の動作を確認する.
  5. オーバーライド toString() 簡単に印刷する方法 Pair 物体。

次のプログラムはそれを示しています。

ダウンロード  コードを実行する

出力:

[(John, 26), (Tom, 30), (John, 26)]
[(John, 26), (Tom, 30)]

これで、Javaでのペアクラスの実装について説明しました。