[kotlin] 코틀린에서 콜렉션 타입을 이용한 데이터 필터링하기

코틀린은 강력한 콜렉션 API를 제공하여 데이터를 필터링하고 가공하는데 효과적인 도구를 제공합니다. 이 글에서는 리스트, 맵 등의 콜렉션 타입을 이용하여 데이터를 필터링하는 방법에 대해 알아보겠습니다.

리스트 필터링하기

코틀린에서 리스트를 필터링하는 가장 간단한 방법은 filter 함수를 사용하는 것입니다. 아래는 리스트에서 조건에 맞는 요소들만 필터링하는 예제입니다.

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

위 예제에서 filter 함수는 주어진 조건식을 만족하는 요소들만을 가진 새로운 리스트를 반환합니다. 여기서는 주어진 리스트에서 짝수만을 필터링해서 evenNumbers에 저장하게 됩니다.

맵 필터링하기

맵을 필터링하는 방법도 리스트와 유사합니다. 아래 예제는 맵을 필터링하여 조건에 맞는 키-값 쌍을 가진 새로운 맵을 얻는 방법을 보여줍니다.

val ages = mapOf("Alice" to 25, "Bob" to 30, "Charlie" to 28, "David" to 23)
val adults = ages.filter { (_, age) -> age >= 18 }

위 예제에서 filter 함수가 사용되었는데, 이때 각 키-값 쌍에 대해 주어진 조건을 만족하는 요소들만을 가진 새로운 맵을 반환합니다. 여기서는 18세 이상인 사람들만을 필터링하여 adults 맵에 저장하게 됩니다.

요약

코틀린의 콜렉션 API를 이용하면 리스트, 맵 등 다양한 콜렉션 타입을 간단하게 필터링할 수 있습니다. filter 함수를 이용하여 주어진 조건에 맞는 요소들만을 가진 새로운 콜렉션을 생성할 수 있습니다.

콜렉션을 다룰 때는 filter 함수뿐만 아니라 filterNot, filterNotNull 등 다양한 함수들을 활용하여 필요에 따라 효율적으로 데이터를 가공할 수 있습니다.

참조: Kotlin - Collection Filtering

위 내용을 통해, 코틀린에서 콜렉션 타입을 이용하여 데이터를 필터링하는 방법에 대해 간략히 알아보았습니다. 추가적인 정보가 필요하다면 공식 코틀린 문서를 참고하시기 바랍니다.