Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

JavaTuples Triplet 클래스 완벽 가이드 – 세 개의 요소를 담는 튜플

Triplet 클래스는 정확히 세 개의 요소를 담는 튜플(Tuple)입니다. JavaTuples 라이브러리에 포함되어 있으며, 서로 다른 타입의 값들을 하나의 객체로 묶어 관리할 수 있게 해주는 불변(immutable) 자료구조입니다.

JavaTuples에서 Triplet 클래스를 사용하려면 먼저 아래 패키지를 임포트해야 합니다.

import org.javatuples.Triplet;

Triplet 객체 생성하기

다음은 Triplet 클래스를 사용해 세 개의 문자열 값을 담는 간단한 예제입니다.

import org.javatuples.Triplet;

public class Demo {
    public static void main(String[] args) {
        Triplet<String, String, String> t =
            new Triplet<String, String, String>("One", "Two", "Three");
        System.out.println(t);
    }
}

실행 결과:

[One, Two, Three]

값 조회하기 – getValue()

저장된 값은 getValue0(), getValue1(), getValue2() 메서드를 통해 인덱스별로 조회할 수 있습니다.

import org.javatuples.Triplet;

public class Demo {
    public static void main(String[] args) {
        Triplet<String, String, String> t =
            new Triplet<String, String, String>("One", "Two", "Three");
        System.out.println(t);
        System.out.println("조회한 값: " + t.getValue0());
    }
}

실행 결과:

[One, Two, Three]
조회한 값: One

값 변경하기 – setAt1()

Triplet은 불변 객체이므로 기존 튜플을 직접 수정하지 않습니다. 대신 setAt1()과 같은 메서드를 호출하면 지정한 인덱스의 값만 교체된 새로운 Triplet 복사본이 반환됩니다.

import org.javatuples.Triplet;

public class Demo {
    public static void main(String[] args) {
        Triplet<String, String, String> t1 =
            Triplet.with("Movies", "Web Series", "TV Shows");
        System.out.println(t1);

        Triplet<String, String, String> t2 = t1.setAt1("Songs");
        System.out.println(t2);
    }
}

실행 결과:

[Movies, Web Series, TV Shows]
[Movies, Songs, TV Shows]

추가로 알아두면 좋은 기능

Triplet 클래스에는 위 예제 외에도 contains()(특정 값 포함 여부 확인), indexOf()(값의 위치 검색), equals(), hashCode() 등의 편리한 메서드가 제공됩니다. 또한 add() 계열 메서드를 사용하면 요소를 추가해 Quartet으로 확장하거나, 일부 값을 제거하여 Pair 등 다른 크기의 튜플로 변환할 수도 있습니다.