[kotlin] 코틀린에서 람다식과 고차 함수를 사용하여 자료구조 데이터를 변형하는 방법

코틀린은 함수형 프로그래밍을 지원하며, 람다식과 고차 함수를 활용하여 자료구조 데이터를 쉽게 변형할 수 있습니다. 이를 통해 코드를 간결하게 작성하고, 데이터를 유연하게 처리할 수 있습니다. 이번 글에서는 코틀린에서 람다식과 고차 함수를 사용하여 자료구조 데이터를 변형하는 방법에 대해 알아보겠습니다.

목차

  1. 람다식과 고차 함수
  2. 리스트 데이터 변형하기
  3. 맵 데이터 변형하기
  4. 필터링과 변환을 결합하기
  5. 예제 코드

1. 람다식과 고차 함수

코틀린에서 람다식은 익명 함수를 축약한 형태로, 변수에 저장하거나 함수의 매개변수로 전달할 수 있습니다. 고차 함수는 함수를 매개변수로 받거나 반환하는 함수를 말합니다. 이 두 가지 기능을 통해 코드를 간결하게 작성하고, 재사용성을 높일 수 있습니다.

2. 리스트 데이터 변형하기

리스트에서 데이터를 변형하는 가장 기본적인 방법은 map 함수를 사용하는 것입니다. map 함수는 각 요소에 특정 연산을 적용하여 새로운 결과 리스트를 생성합니다.

val numbers = listOf(1, 2, 3, 4, 5)
val squaredNumbers = numbers.map { it * it }

위 코드에서 map 함수를 사용하여 각 숫자를 제곱한 새로운 리스트를 생성했습니다.

3. 맵 데이터 변형하기

맵에서의 데이터 변형은 mapValues 함수를 사용하여 각 키-값 쌍에 대해 연산을 적용할 수 있습니다.

val ages = mapOf("Alice" to 29, "Bob" to 31, "Carol" to 28)
val agesAfterTenYears = ages.mapValues { it.value + 10 }

위 코드에서 mapValues 함수를 사용하여 각 사람의 나이에 10을 더한 새로운 맵을 생성했습니다.

4. 필터링과 변환을 결합하기

람다식과 고차 함수를 사용하여 리스트나 맵의 데이터를 필터링한 뒤 변환하는 것도 가능합니다. 예를 들어, 짝수인 숫자만 제곱해서 새로운 리스트를 생성한다면 다음과 같이 할 수 있습니다.

val numbers = listOf(1, 2, 3, 4, 5)
val transformedNumbers = numbers.filter { it % 2 == 0 }.map { it * it }

5. 예제 코드

위에서 설명한 방법들을 종합하여 예제 코드를 작성해보겠습니다.

fun main() {
    val numbers = listOf(1, 2, 3, 4, 5)
    val squaredEvenNumbers = numbers.filter { it % 2 == 0 }.map { it * it }
    println(squaredEvenNumbers) // 출력: [4, 16]
}

위 예제 코드는 주어진 리스트에서 짝수를 찾아 제곱한 새로운 리스트를 생성하여 출력하는 예제입니다.

코틀린의 람다식과 고차 함수를 활용하면 데이터를 유연하게 변형할 수 있으며, 코드를 간결하게 작성할 수 있습니다.

이상으로 코틀린에서 람다식과 고차 함수를 사용하여 자료구조 데이터를 변형하는 방법에 대해 알아보았습니다.

참고 문헌: Kotlin 공식 문서


이상으로 코틀린에서 람다식과 고차 함수를 사용하여 자료구조 데이터를 변형하는 방법에 대한 글을 마치겠습니다. 부족한 점이 있을 수 있으니, 보충하실 내용이 있거나, 다른 궁금한 점이 있다면 언제든지 말씀해주세요.