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에는 다음과 같은 두 가지 유형의 쌍 클래스가 있습니다.
페어 클래스가 필요한 이유
쌍 클래스는 키 쌍 조합의 값을 가져오는 데 사용됩니다. 즉, 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 클래스의 유용한 사례 중 하나는 트리 데이터 구조에 값을 저장하는 것입니다. 내장된 쌍 클래스를 사용하거나 클래스를 사용자 정의할 수 있습니다. 적절하게 사용한다면 매우 도움이 될 것입니다.