[kotlin] 람다를 사용한 다양한 데이터 처리 방식

람다는 Kotlin에서 함수형 프로그래밍을 할 때 매우 유용한 기능입니다. 람다를 사용하면 간결하고 가독성이 높은 코드를 작성할 수 있습니다. 람다를 활용하여 데이터를 처리하는 다양한 방법을 살펴보겠습니다.

1. 필터링 (Filtering)

컬렉션에서 특정 조건을 만족하는 요소만을 추출하고 싶을 때 람다를 사용하여 필터링할 수 있습니다.

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

위 예제에서는 numbers 리스트에서 짝수만을 필터링하여 evenNumbers 리스트에 저장합니다.

2. 맵핑 (Mapping)

컬렉션의 각 요소에 일정한 연산을 적용하여 새로운 값으로 변환할 수 있습니다.

val names = listOf("Alice", "Bob", "Charlie")
val nameLengths = names.map { it.length }

위 예제에서는 names 리스트의 각 요소의 길이를 측정하여 nameLengths 리스트에 저장합니다.

3. 정렬 (Sorting)

람다를 사용하여 원하는 기준에 따라 컬렉션을 정렬할 수 있습니다.

val names = listOf("Alice", "Bob", "Charlie")
val sortedNames = names.sortedBy { it }

위 예제에서는 names 리스트를 알파벳 순으로 정렬하여 sortedNames 리스트에 저장합니다.

4. 리듀싱 (Reducing)

컬렉션의 모든 요소를 하나의 값으로 합치는 과정을 리듀싱이라고 합니다.

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

위 예제에서는 numbers 리스트의 모든 요소를 더하여 sum 변수에 저장합니다.

람다를 이용한 데이터 처리 방식은 데이터를 다룰 때 매우 강력하고 효과적인 방법을 제공합니다.

더 많은 람다 활용법에 대해서는 Kotlin 공식 문서를 참고하세요.