자바 쌍

Java 쌍 클래스는 키-값 쌍 조합에 값을 저장합니다. 두 개의 값을 얻는 데 유용합니다. 이 키-값 조합을 튜플이라고 합니다.

쌍은 메소드에서 두 개의 값을 반환하려는 경우에 유용합니다. 예를 들어, 숫자의 제곱근을 계산하는 메소드가 있고 숫자를 제곱근으로 인쇄하려고 한다고 가정해 보겠습니다. 따라서 pair 클래스를 사용하여 숫자와 그 제곱근(예: (5, 25))의 조합으로 출력을 인쇄할 수 있습니다.

자바 Java 8의 내장 쌍 클래스를 제공합니다.

이 섹션에서는 Java에서 pair 클래스를 사용하는 방법을 살펴보겠습니다. 또한 사용자 정의된 pair 클래스를 만듭니다.

Java의 쌍 클래스

Java 8부터 Java는 키 쌍 ​​조합에 값을 저장하는 pair 클래스를 제공합니다. 값을 쌍 조합으로 저장하려면 다음에서 제공하는 매개변수화된 생성자를 사용해야 합니다. javafx.util.쌍 수업.

pair 클래스는 트리 데이터 구조에 값을 저장하는 동안 유용합니다. 트리 데이터 구조에서 재귀 작업을 수행하는 동안 pair 클래스를 사용하면 한 노드에서 다른 노드로 값을 쉽게 전달할 수 있습니다. 이러한 값은 해당 노드까지의 최소 및 최대 노드 값일 수 있습니다. 이렇게 하면 포인터가 특정 코드를 반복적으로 다시 방문하는 것을 방지할 수 있습니다.

Java에서 맵은 키 쌍 조합 형식으로 값을 저장하는 데 사용됩니다. 값을 튜플로 저장하고 단일 객체로 작동합니다.

pair 클래스를 구현하려면 해당 상위 패키지를 가져와야 합니다.

 import javafx.util.Pair;  

내장된 쌍 클래스는 다음과 같은 키 및 값 표기법을 사용합니다. 자바 지도 한 쌍을 저장하려면:

  

선언:

pair 클래스 객체는 다음과 같이 선언됩니다:

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

위 구문은 다음 유형의 객체를 생성합니다. 건설자 값 5와 '5'를 가져와서 pair 클래스에 저장합니다.

쌍 클래스 방법

Java 쌍 클래스는 다음 메소드를 제공합니다.

getKey()

주어진 쌍에 대한 키를 가져오고 지정된 쌍에 대한 키를 반환합니다. 다음과 같이 선언됩니다.

 public K getKey()  

getValue()

주어진 쌍의 값을 가져오고 쌍의 값을 반환합니다. 다음과 같이 선언됩니다.

 public V getValue()  

해시 코드()

쌍에 대한 해시 코드를 생성합니다. 이 해시코드는 쌍의 이름과 값을 모두 사용하여 계산됩니다. HashCode 클래스를 재정의하고 해당 쌍에 대한 해시 코드를 반환합니다. 다음과 같이 선언됩니다.

 public int hashCode()  

같음()

이는 해당 쌍이 다른 쌍과 동일한지 테스트하는 데 사용됩니다. 테스트를 위해 개체가 지정되지 않았거나 null인 경우 false를 반환합니다. 주어진 두 쌍은 이름과 값이 동일한 경우에만 동일한 것으로 간주됩니다. 다음과 같이 선언됩니다.

 public boolean equals(Object o)  

쌍과의 동등성을 테스트하려면 '-o' 인수 개체를 사용합니다. Objects 클래스의 같음을 재정의하고 주어진 쌍이 같으면 true를 반환합니다. 그렇지 않으면 false를 반환합니다.

toString()

쌍을 문자열로 나타내는 데 사용됩니다. toString() 메소드에서는 기본 이름/값 구분 기호='가 항상 사용됩니다. Object 클래스의 toString을 재정의하고 해당 쌍의 String 값을 반환합니다. 다음과 같이 선언됩니다.

 public String toString()  

쌍 클래스 생성자

pair 클래스 생성자는 새로운 쌍을 생성합니다. 키와 쌍 값을 인수로 사용합니다. 다음과 같이 선언됩니다.

 public Pair(K key, V value)  

쌍 클래스의 유형

Java에는 다음과 같은 두 가지 유형의 쌍 클래스가 있습니다.

    불변 쌍 클래스: 불변 쌍 클래스는 일단 정의되면 객체의 값을 변경할 수 없는 클래스입니다. 이는 정의된 값을 변경하기 위해 setters 메소드를 사용할 수 없다는 것을 의미합니다. 일반적으로 값은 정의된 경우 일정하게 유지됩니다. 변경 가능한 쌍 클래스: 가변 클래스를 사용하면 프로그램에서 언제든지 값을 변경할 수 있습니다. getter 및 setter 메소드를 사용하여 객체의 값에 액세스하고 변경할 수 있습니다. 처음에 값을 정의했더라도 나중에 프로그램에서 값을 변경할 수 있습니다. 그만큼 pair.setValue(a,b) 그리고 쌍.getValue() 메소드는 객체 값을 설정하고 액세스하는 데 사용됩니다.

페어 클래스가 필요한 이유

쌍 클래스는 키 쌍 ​​조합의 값을 가져오는 데 사용됩니다. 즉, pair 클래스는 두 값을 함께 반환하는 메서드를 제공한다고 말할 수 있습니다. pair 클래스를 사용하는 데에는 많은 이유가 있을 수 있습니다.

다음은 pair 클래스를 사용해야 하는 몇 가지 경우입니다.

  • 여러 값을 반환한다고 가정해 보겠습니다. 그러나 Arrays 및 HashMap과 같은 일부 데이터 구조를 사용하면 그렇게 할 수 있지만 변수 클러스터를 함께 처리하는 경우 두 가지를 모두 반환하는 것이 복잡할 수 있습니다. 그러한 경우에는 pair 클래스가 매우 도움이 될 것입니다.
  • 수학 연산을 수행하고 그 출력과 함께 숫자를 표시하려면 pair 클래스를 사용하면 쉽게 수행할 수 있습니다.
  • 트리 데이터 구조에 대한 작업을 수행하려는 경우.

페어 클래스의 예

기본적인 예를 통해 이해해 보겠습니다.

페어 클래스는 JavaFX , 따라서 JavaFX 프로젝트를 생성하고 구성해야 합니다. 만드는 방법을 참조하세요. Eclipse의 JavaFX 프로젝트 .

이제 아래에 클래스 파일을 만듭니다. 소스 폴더.

TestPair 클래스를 생성 중입니다.

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()); } }  

위 프로그램에서는 정수 키 값과 문자열 쌍 값을 보유하는 쌍 값을 사용합니다. 표준 구문을 사용하여 pair 클래스를 선언하고 pair 클래스의 getKey() 및 getValue() 메서드를 사용하여 해당 값을 인쇄합니다. 다음과 같은 출력이 표시됩니다.

산출:

 The key is :5 The Pair value is :Five  

맞춤형 페어 클래스

내장된 쌍 클래스를 사용하지 않으려면 Generics를 사용하여 쌍 클래스를 사용자 정의할 수 있습니다. 아래 예를 고려하십시오.

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(); } }  

위 코드에서 Customized pair 클래스를 생성하고 두 개의 값을 단일 변수에 저장하고 인쇄했습니다.

산출:

  

따라서 제네릭 메서드를 사용하면 JavaFX를 사용하지 않고도 pair 클래스의 이점을 누릴 수 있습니다.

함수를 사용하여 동작을 이해해 보겠습니다.

클래스와 함수 쌍

함수를 사용하여 두 개의 값을 반환하기 위해 pair 클래스를 사용할 수 있습니다. 이 과정을 수행하려면 함수의 반환 유형이 쌍이어야 합니다. 아래 예를 고려하십시오.

TestPair2.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  

결론:

쌍 클래스는 코드 효율성을 향상시키는 데 매우 유용합니다. pair 클래스의 유용한 사례 중 하나는 트리 데이터 구조에 값을 저장하는 것입니다. 내장된 쌍 클래스를 사용하거나 클래스를 사용자 정의할 수 있습니다. 적절하게 사용한다면 매우 도움이 될 것입니다.