logo

Javaペア

Java ペア クラスは、キーと値のペアの組み合わせに値を格納します。 2 つの値を取得する場合に便利です。このキーと値の組み合わせはタプルとして知られています。

このペアは、メソッドから 2 つの値を返したい場合に便利です。たとえば、数値の平方根を計算するメソッドがあり、その数値を平方根とともに出力したいとします。したがって、pair クラスを使用して、数値とその平方根 (例: (5, 25)) の組み合わせで出力を出力できます。

ジャワ Java 8 の組み込みのペア クラスを提供します。

このセクションでは、Java でペア クラスを使用する方法を説明します。さらに、カスタマイズしたペア クラスを作成します。

Javaのペアクラス

Java 8 以降、Java には、キー ペアの組み合わせで値を格納するための Compare クラスが提供されています。値をペアの組み合わせで保存するには、 javafx.util.Pair クラス。

ペア クラスは、値をツリー データ構造に格納するときに便利です。ツリー データ構造で再帰操作を実行する際、Pair クラスを使用すると、あるノードから別のノードに値を簡単に渡すことができます。これらの値は、そのノードまでの最小ノード値と最大ノード値にすることができます。これにより、ポインターが特定のコードを繰り返し再訪問することがなくなります。

Java では、マップはキー ペアの組み合わせの形式で値を格納するために使用されます。値をタプルとして保存し、それらを単一のオブジェクトとして操作します。

ペア クラスを実装するには、その親パッケージをインポートする必要があります。

Javaのオブジェクトクラス
 import javafx.util.Pair; 

組み込みのペア クラスは、次のようなキーと値の表記を使用します。 Javaでの地図 ペアを保存するには:

 

宣言:

ペア クラス オブジェクトは次のように宣言されます。

 Pair p = new Pair(5 ,'Five'); 

上記の構文は、次のタイプのオブジェクトを作成します。 コンストラクタ は、値 5 と 'Five' を受け取り、Pair クラスに格納します。

ペアクラスメソッド

次のメソッドが Java ペア クラスによって提供されます。

getKey()

指定されたペアのキーを取得し、指定されたペアのキーを返します。次のように宣言されています。

 public K getKey() 

getValue()

指定されたペアの値を取得し、そのペアの値を返します。次のように宣言されています。

 public V getValue() 

ハッシュコード()

ペアのハッシュ コードを生成します。このハッシュコードは、ペアの名前と値の両方を使用して計算されます。これは HashCode クラスをオーバーライドし、ペアのハッシュ コードを返します。次のように宣言されています。

 public int hashCode() 

等しい()

これは、ペアが他のペアと等しいかどうかをテストするために使用されます。オブジェクトがテスト用に指定されていないか、null の場合は false を返します。指定された 2 つのペアは、名前と値が同じである場合にのみ等しいとみなされます。次のように宣言されています。

 public boolean equals(Object o) 

ペアとの同等性をテストするには、「-o」引数オブジェクトを使用します。これはクラス Objects の等しいをオーバーライドし、指定されたペアが等しい場合は true を返します。それ以外の場合は false を返します。

toString()

ペアを文字列として表すために使用されます。 toString() メソッドでは、デフォルトの名前/値 delimiter=' が常に使用されます。これは、クラス Object の toString をオーバーライドし、ペアの String 値を返します。次のように宣言されています。

 public String toString() 

ペアクラスコンストラクター

ペア クラス コンストラクターは、新しいペアを作成します。キーとペアの値を引数として受け取ります。次のように宣言されています。

 public Pair(K key, V value) 

ペアクラスの種類

Java には次の 2 種類のペア クラスがあります。

    不変ペアクラス:不変ペア クラスは、一度定義するとオブジェクトの値を変更できないクラスです。つまり、setter メソッドを使用して定義された値を変更することはできません。一般に、値が定義されている場合、値は一定のままです。可変ペア クラス:可変クラスを使用すると、プログラム内でいつでも値を変更できます。ゲッター メソッドとセッター メソッドを使用して、オブジェクトの値にアクセスし、値を変更できます。最初に値を定義した場合でも、プログラムの後半で値を変更できます。の ペア.setValue(a,b) そして ペア.getValue() メソッドは、オブジェクト値の設定とアクセスに使用されます。

なぜペアクラスが必要なのか

ペア クラスは、キー ペアの組み合わせの値を取得するために使用されます。つまり、pair クラスは 2 つの値を一緒に返すメソッドを提供すると言えます。ペア クラスを使用する理由はたくさんあると考えられます。

以下は、Pair クラスを使用する必要があるいくつかのケースです。

  • 複数の値を返したいとします。ただし、Array や HashMap などのデータ構造を使用することでこれを行うことはできますが、変数のクラスターを一緒に扱う場合、両方を返すのは複雑になる可能性があります。このような場合には、Pair クラスが非常に役立ちます。
  • 数学的な演算を実行し、その出力とともに数値を表示したい場合は、Pair クラスを使用すると簡単に実行できます。
  • ツリー データ構造に対して操作を実行したい場合。

ペアクラスの例

基本的な例でそれを理解しましょう。

gimpでjpgとしてエクスポート

ペアクラスは JavaFX したがって、JavaFX プロジェクトを作成して構成する必要があります。作成方法を見る Eclipse の JavaFX プロジェクト

次に、クラスファイルを以下に作成します。 送信元 フォルダ。

TestPairクラスを作成しています。

テストペア.java:

 import javafx.util.Pair; public class TestPair { public static void main(String[] args) { Pair p = new Pair(5,'Five'); System.out.println('The key is :' + p.getKey()); System.out.println('The Pair value is :' + p.getValue()); } } 

上記のプログラムでは、整数のキー値と文字列のペア値を保持するペア値を取得しています。標準構文を使用してペア クラスを宣言し、ペア クラスの getKey() メソッドと getValue() メソッドを使用してその値を出力します。次の出力が表示されます。

出力:

 The key is :5 The Pair value is :Five 

カスタマイズされたペアクラス

組み込みのペア クラスを使用したくない場合は、ジェネリックを使用してペア クラスをカスタマイズできます。以下の例を考えてみましょう。

CustomizedPair.java:

 public class CustomizedPair { int key; String value; public CustomizedPair(int key, String value) //Constructor of the class { this.key = key; this.value = value; } public void print(){ System.out.println(''); } public static void main(String[] args){ CustomizedPair a = new CustomizedPair(1,'Hello'); a.print(); } } 

上記のコードから、カスタマイズされたペア クラスを作成し、2 つの値を 1 つの変数に格納して出力します。

出力:

 

したがって、ジェネリック メソッドを使用すると、JavaFX を使用せずに、Pair クラスの利点を活用できます。

関数を使用してその動作を理解しましょう。

クラスと関数をペアにする

関数を使用して 2 つの値を返すには、Pair クラスを使用できます。この処理を実行するには、関数の戻り値の型がペアである必要があります。以下の例を考えてみましょう。

Javaで配列に追加する

テストペア2.java:

 import java.util.Scanner; public class TestPair2 { public static void main(String[] args) { Scanner s = new Scanner(System.in); CustomizedPair a = func(s); a.print(); } public static CustomizedPair func (Scanner s){ System.out.println('Enter Value'); String key = s.next(); System.out.println('Enter Key'); int value = s.nextInt(); CustomizedPair a = new CustomizedPair(value, key); return a; } } 

出力:

 Enter Value Five Enter Key 5 

結論:

ペア クラスは、コードの効率を向上させるのに非常に役立ちます。ペア クラスの便利な例の 1 つは、値をツリー データ構造に格納することです。組み込みのペア クラスを使用することも、クラスをカスタマイズすることもできます。正しく使えばとても役に立ちます。