[kotlin] 코틀린에서 컬렉션 처리를 위한 함수형 연산

코틀린은 함수형 프로그래밍을 지원하며, 컬렉션을 다루는데 많은 편의 기능을 제공합니다. 이번 포스트에서는 컬렉션을 다루는 함수형 연산에 대해 알아보겠습니다.

1. map 함수

map 함수는 각 요소에 변환을 적용하여 새로운 컬렉션을 생성합니다. 변환 방법은 람다 식으로 정의하며, 이를 통해 간단하고 효율적인 변환을 할 수 있습니다.

예시:

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

2. filter 함수

filter 함수는 주어진 조건에 맞는 요소만을 걸러내어 새로운 컬렉션을 생성합니다. 조건은 람다 식으로 정의하며, 이를 통해 원하는 요소만을 선택할 수 있습니다.

예시:

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

3. reduce 함수

reduce 함수는 컬렉션의 요소를 차례로 람다 식을 적용하여 하나의 값으로 결합합니다.

예시:

val numbers = listOf(1, 2, 3, 4, 5)
val sum = numbers.reduce { sum, element -> sum + element }

4. flatMap 함수

flatMap 함수는 각 요소에 대해 변환을 적용하고, 결과를 단일 리스트로 합칩니다.

예시:

val nestedNumbers = listOf(listOf(1, 2), listOf(3, 4), listOf(5, 6))
val flattenedNumbers = nestedNumbers.flatMap { it }

이 외에도 count, distinct, groupBy 등 다양한 함수형 연산이 코틀린에서 제공됩니다. 이러한 함수들을 적절히 활용하여 컬렉션 처리를 보다 간결하고 효율적으로 할 수 있습니다.

위에서 설명한 함수들은 컬렉션을 다루는 데에 있어 가장 일반적으로 사용되는 기능들이며, 코틀린을 사용하는 개발자라면 반드시 숙지해두어야 합니다.

References