[kotlin] 코틀린에서의 컬렉션 함수

코틀린은 강력한 함수형 프로그래밍 특성을 제공하며, 컬렉션을 다루는 데 매우 유용한 함수들을 제공합니다. 이러한 컬렉션 함수들은 라이브러리 함수로 제공되며, 코드를 간결하게 작성하고 가독성을 높이는 데 도움이 됩니다.

1. map

map은 컬렉션 내의 각 요소에 대해 주어진 람다 함수를 적용하고, 그 결과를 모아서 새로운 컬렉션을 생성합니다.

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

2. filter

filter 함수는 주어진 조건에 맞는 요소만을 걸러내어 새로운 컬렉션을 반환합니다.

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

3. reduce

reduce 함수는 누적 연산을 수행하며, 컬렉션의 각 요소를 순차적으로 람다 함수에 적용하여 단일 결과값을 생성합니다.

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

4. flatMap

flatMap 함수는 각 요소에 대해 주어진 람다 함수를 적용하고, 그 결과를 단일 컬렉션으로 합쳐서 반환합니다.

val words = listOf("hello", "world")
val letters = words.flatMap { it.toList() }
// letters: [h, e, l, l, o, w, o, r, l, d]

앞서 소개된 함수들 외에도 다양한 컬렉션 함수들이 코틀린 표준 라이브러리에 포함되어 있습니다. 이러한 함수들을 잘 이해하고 활용한다면, 코틀린에서의 컬렉션 다루기가 더욱 쉬워질 것입니다.

더 많은 자세한 정보는 코틀린 공식 문서를 참고하시기 바랍니다.