[kotlin] 데이터 변환과 매핑 함수

Kotlin은 다양한 데이터 변환 및 매핑 기능을 제공하여 보다 효율적으로 데이터를 처리할 수 있게 합니다. 이 포스트에서는 Kotlin에서 주로 사용되는 데이터 변환과 매핑 함수에 대해 알아보겠습니다.

컬렉션 데이터 변환 함수

Kotlin은 컬렉션을 다루는데 편리한 다양한 데이터 변환 함수를 제공합니다. 다음은 그 중 일부를 소개합니다.

map()

map() 함수는 주어진 람다 식을 이용하여 컬렉션의 각 요소를 변환합니다. 새로운 컬렉션을 반환하며, 예를 들어 각 요소를 제곱하는 경우 다음과 같이 사용할 수 있습니다:

val numbers = listOf(1, 2, 3, 4, 5)
val squaredNumbers = numbers.map { it * it } 
// squaredNumbers: [1, 4, 9, 16, 25]

flatMap()

flatMap() 함수는 요소를 변환한 후 다시 리스트로 만들어 반환하여 평탄화된 하나의 리스트로 만들어 줍니다. 주로 이차원 리스트를 일차원 리스트로 만드는 데 사용됩니다.

val numbers = listOf(listOf(1, 2), listOf(3, 4), listOf(5, 6))
val flatList = numbers.flatMap { it } 
// flatList: [1, 2, 3, 4, 5, 6]

데이터 객체 변환 함수

Kotlin은 객체 간의 데이터 변환을 위한 함수를 제공합니다. 주로 DTO(Data Transfer Object)와 엔티티 클래스 사이의 변환 시 사용됩니다.

to()

to() 함수는 Pair를 생성하는 함수로, 두 개의 값을 정해진 순서로 꺼내어 쉼표로 연결한 쌍의 문자열을 만들어 줍니다.

val pair = "key" to "value"
// pair: Pair<String, String> = Pair("key", "value")

let()

let() 함수는 Nullable 객체의 값을 안전하게 처리하기 위해 사용됩니다. 이 함수를 통해 Nullable 객체의 값이 null이 아닐 때만 람다를 실행할 수 있습니다.

val name: String? = "John"
name?.let {
    // name이 null이 아닌 경우에만 실행됨
    println("Name: $it")
}

결론

Kotlin은 다양한 데이터 변환과 매핑 함수를 제공하여 보다 효율적으로 데이터를 처리할 수 있습니다. 위에서 소개한 함수들을 적절히 활용하여 코드를 간결하게 작성할 수 있으며, 다양한 데이터 처리 상황에 유용하게 활용될 수 있습니다.

이상으로 Kotlin에서의 데이터 변환과 매핑 함수에 대한 소개를 마치겠습니다.

레퍼런스: