"Pair" 객체는 Java에서 두 가지 객체를 하나의 단위로 묶어서 관리하는 데 사용되는 간단한 클래스입니다. 일반적으로 두 객체 사이의 연관성을 표현하거나 함수가 둘 이상의 값을 반환해야 하는 경우에 유용하게 활용됩니다.
Java 표준 라이브러리에는 Pair
클래스가 기본으로 제공되지 않습니다. 대신, 여러 라이브러리에서 이러한 기능을 제공하는 클래스들을 사용할 수 있습니다. 대표적인 예로 Apache Commons 라이브러리에서 제공되는 Pair
클래스를 사용하여 두 값을 쌍으로 저장하고 조작할 수 있습니다.
아래는 Apache Commons 라이브러리의 Pair
클래스를 사용한 예제입니다!
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version> <!-- 최신 버전 확인 -->
</dependency>
Pair
클래스를 사용하여 값을 저장하고 조작합니다import org.apache.commons.lang3.tuple.Pair;
public class PairExample {
public static void main(String[] args) {
Pair<String, Integer> pair = Pair.of("John", 25);
String name = pair.getLeft();
Integer age = pair.getRight();
System.out.println("Name: " + name);
System.out.println("Age: " + age);
}
}
위의 예제에서는 Pair.of()
메서드를 사용하여 Pair
객체를 생성하고, getLeft()
와 getRight()
메서드를 사용하여 첫 번째와 두 번째 값을 가져올 수 있습니다.
물론, Pair
클래스를 직접 구현하여 사용할 수도 있습니다. 다음은 간단한 Pair
클래스의 예제입니다
public class MyPair<A, B> {
private A first;
private B second;
public MyPair(A first, B second) {
this.first = first;
this.second = second;
}
public A getFirst() {
return first;
}
public B getSecond() {
return second;
}
public void setFirst(A first) {
this.first = first;
}
public void setSecond(B second) {
this.second = second;
}
}
public class CustomPairExample {
public static void main(String[] args) {
// MyPair 클래스 사용 예제
MyPair<String, Integer> pair = new MyPair<>("Alice", 30);
String name = pair.getFirst();
Integer age = pair.getSecond();
System.out.println("Name: " + name); // 이름 가져오기
System.out.println("Age: " + age); // 나이 가져오기
}
}
이 예제에서는 MyPair
클래스를 정의하고 생성자와 getter, setter 메서드를 추가하여 사용하였습니다.
아래는 "Pair" 객체를 사용하기 위한 주요 메소드와 방법을 정리한 것입니다.
Apache Commons 라이브러리의 Pair 클래스 (org.apache.commons.lang3.tuple.Pair)
Pair.of(A a, B b)
: 두 개의 값을 가진 Pair 객체를 생성합니다.getLeft()
: 첫 번째 값을 반환합니다.getRight()
: 두 번째 값을 반환합니다.getKey()
: 첫 번째 값을 반환하는 getLeft()
와 같은 역할을 합니다.getValue()
: 두 번째 값을 반환하는 getRight()
와 같은 역할을 합니다.equals(Object obj)
: 두 Pair 객체가 동일한 값을 가지고 있는지 비교합니다.hashCode()
: Pair 객체의 해시 코드를 반환합니다.toString()
: Pair 객체를 문자열로 변환하여 반환합니다.Pair<String, Integer> pair = Pair.of("Alice", 25);
String name = pair.getLeft();
Integer age = pair.getRight();
직접 구현한 Pair 클래스
class MyPair<A, B> {
private A first;
private B second;
public MyPair(A first, B second) {
this.first = first;
this.second = second;
}
public A getFirst() {
return first;
}
public B getSecond() {
return second;
}
}
MyPair<String, Integer> pair = new MyPair<>("Bob", 30);
String name = pair.getFirst();
Integer age = pair.getSecond();
"Pair" 객체를 사용하면 두 개의 값을 하나로 묶어 편리하게 다룰 수 있습니다. 그러나 Java 표준 라이브러리에서는 직접 제공되지 않기 때문에 외부 라이브러리를 사용하거나 직접 구현하여 활용해야 합니다.
Reference : Pair (JavaFx8)