Kotlin

[Kotlin] Pair와 Triple 객체

Frambda 2023. 1. 25. 15:17

 

여러 개의 객체 리턴하기

 

함수는 보통 1개의 객체를 리턴하지만 2개 이상의 값을 리턴해야 할 때가 있다.
매번 클래스나 배열을 만들어 저장하고 리턴하는 것은 번거롭다.

Kotlin은 Pair와 Triple 객체를 기본으로 제공한다.

Pair은 두 개의 객체를 저장하는 객체이고, Triple은 3개의 객체를 저장하는 객체이다.


Pair와 Triple을 이용하면 간단히 2개 혹은 3개의 객체를 리턴할 수 있다.

 

 

Pair 사용 방법

 

val pair1 = Pair("Hello", "World")
val pair2 = Pair("Hello", 1234)

 

안에 들어가는 객체의 클래스 또는 자료형은 달라도 상관없다.

자료형은 생략 가능하지만, <타입, 타입>을 통해 명시해줄 수도 있다.


Pair 안에 저장된 객체는 first와 second로 접근할 수 있다.

val pair = Pair("Hello", 1234)
System.out.println(pair.first) //Hello 출력
System.out.println(pair.second) //1234 출력



또는 component1(), component2() 메서드로 리턴할 수도 있다.

val pair = Pair("Hello", 1234)
System.out.println(pair.component1()) //Hello 출력
System.out.println(pair.component2()) //1234 출력



새로운 변수를 선언할 때 Pair를 이용해 쉽게 값을 할당할 수 있다.

val (hello, number) = Pair("Hello", 1234)

 

첫 번째 객체에는 Hello, 두 번째 객체에는 1234가 할당된다.



코틀린에서 기본으로 제공하는 to 함수를 이용하여 Pair 객체를 생성할 수 있다.

val pair: Pair<String, Int> = "Hello" to 1234
val (hello, number) = "Hello" to 1234



toList() 함수를 이용해 Pair 객체를 list로 바꿀 수 있다.

val pair: Pair<String, Int> = "Hello" to 1234
val list = pair.toList()
println(list[0]) //Hello 출력

 

 

 

Triple 사용 방법

 

Triple은 세 개의 객체를 할당할 수 있는 객체이다.

기본적인 사용법은 Pair와 같으며, 3번째 객체를 리턴하는 third와 component3()가 추가된다.