코틀린 컬렉션: map, filter, reduce등

Introduction

코틀린 컬렉션은 개발자가 간결하고 표현력 있는 코드를 작성할 수 있도록 강력한 기능을 제공합니다. 긴 루프를 작성하는 대신, 코틀린은 간단하고 읽기 쉬운 함수로 복잡한 작업을 수행할 수 있게 해줍니다. 코틀린으로 안드로이드 앱을 개발하는 경우, 다음과 같은 컬렉션 함수를 자주 사용하게 될 것입니다:

  • map

  • filter

  • reduce

  • forEach

  • groupBy

이 가이드는 실제 프로젝트에서 사용할 수 있는 실용적인 예제와 함께 빠른 Kotlin 컬렉션 치트 시트를 제공합니다. 

 

Tip:대부분의 경험 많은 코틀린 개발자들은 코드가 더 짧고 유지보수가 용이해지기 때문에 이러한 컬렉션 함수에 크게 의존합니다.

 

코틀린 컬렉션 개요

코틀린의 컬렉션은 다음과 같은 데이터 그룹을 다룰 수 있습니다:

  • Lists

  • Sets

  • Maps

예시 목록:

val numbers = listOf(1,2,3,4,5)

여기서부터 Kotlin은 데이터를 변환하거나 처리하는 데 유용한 많은 기능을 제공합니다.

map 함수

map 은 컬렉션의 각 요소를 변환합니다.

Example:

val numbers = listOf(1,2,3)

val doubled = numbers.map {
  it * 2
}

Result:

[2,4,6]

filter 함수

필터 함수는 조건에 맞는 요소를 선택합니다.

Example:

val numbers = listOf(1,2,3,4,5)

val evenNumbers = numbers.filter {
  it % 2 == 0
}

Result

[2,4]

forEach 함수

forEach 는 요소를 반복하는데 사용합니다.

Example:

numbers.forEach {
  println(it)
}

모든 요소에 대해 작업을 수행해야 할 때 forEach를 사용하세요.

reduce 함수

reduce 요소들을 하나의 결과로 결합합니다.

Example:

val numbers = listOf(1,2,3,4)

val sum = numbers.reduce { acc, i ->
  acc + i
}

Result

10

groupBy 함수

groupBy 조건에 따라 요소를 그룹화합니다.

Example:

val numbers = listOf(1,2,3,4,5)

val grouped = numbers.groupBy {
  it % 2 == 0
}

Result

{false=[1,3,5], true=[2,4]}

Quick Cheat Sheet

Function Purpose
map transform elements
filter select elements
forEach iterate elements
reduce combine values
groupBy group elements

 

heejin's picture

Language

Get in touch with us

"If you would thoroughly know anything, teach it to other."
- Tryon Edwards -