0Pricing
Android Academy · 강의

Kotlin 컬렉션

List, Set, Map을 다루고 filter, map, sortedBy, forEach, find, any, all과 같은 함수형 연산자를 사용해 간결하게 데이터 변환 작업을 연결합니다.

Kotlin 컬렉션은(는) CoddyKit의 무료 Android Academy 강의입니다. 이것은 6개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Android Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Android Academy 강의에는 총 6개의 강의가 포함되어 있습니다.

컬렉션 개요

Kotlin 표준 라이브러리는 세 가지 주요 컬렉션 유형을 제공합니다.

  • List — 요소가 정렬된 순서로 저장되는 시퀀스(중복 가능)
  • Set — 고유한 요소의 집합(특정 순서 없음)
  • Map — 키-값 쌍의 모음(키는 고유함)

각 유형에는 불변 버전(읽기 전용)과 가변 버전(수정 가능)이 있습니다.

List: listOf와 mutableListOf

팩토리 함수를 사용하여 리스트를 만듭니다.

fun main() {
    // Immutable — cannot add/remove items
    val fruits = listOf("Apple", "Banana", "Cherry")
    println(fruits[0])       // Apple
    println(fruits.size)     // 3

    // Mutable — can modify
    val scores = mutableListOf(10, 20, 30)
    scores.add(40)
    scores.removeAt(0)       // remove index 0
    println(scores)          // [20, 30, 40]
}

Map: 키-값 쌍

mapOf와 mutableMapOf를 사용하여 맵을 만듭니다. 키로 값에 접근합니다.

fun main() {
    val capitals = mapOf(
        "Turkey" to "Ankara",
        "Germany" to "Berlin",
        "Japan" to "Tokyo"
    )

    println(capitals["Turkey"])      // Ankara
    println(capitals["France"])      // null (not found)
    println(capitals.getOrDefault("France", "Unknown")) // Unknown

    // Iterate
    for ((country, city) in capitals) {
        println("$country -> $city")
    }
}

filter — 항목 선택하기

filter는 조건에 맞는 요소만 포함하는 새 리스트를 반환합니다.

fun main() {
    val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8)

    val evens = numbers.filter { it % 2 == 0 }
    println(evens)   // [2, 4, 6, 8]

    val names = listOf("Alice", "Bob", "Anna", "Charlie")
    val aNames = names.filter { it.startsWith("A") }
    println(aNames)  // [Alice, Anna]
}

map — 항목 변환하기

map은 모든 요소를 변환하고 새 리스트를 반환합니다.

fun main() {
    val prices = listOf(10.0, 20.0, 30.0)

    // Apply 10% tax
    val withTax = prices.map { it * 1.1 }
    println(withTax)  // [11.0, 22.0, 33.0]

    val names = listOf("alice", "bob", "carol")
    val upper = names.map { it.uppercase() }
    println(upper)    // [ALICE, BOB, CAROL]
}

sortedBy와 sortedByDescending

속성을 기준으로 리스트를 정렬합니다.

data class Student(val name: String, val grade: Int)

fun main() {
    val students = listOf(
        Student("Alice", 88),
        Student("Bob", 95),
        Student("Carol", 72)
    )

    val byGrade = students.sortedByDescending { it.grade }
    for (s in byGrade) println("${s.name}: ${s.grade}")
    // Bob: 95
    // Alice: 88
    // Carol: 72
}

forEach와 find

유용한 컬렉션 함수 두 가지를 더 살펴보겠습니다.

  • forEach — 결과를 만들지 않고 반복합니다.
  • find — 조건에 맞는 첫 번째 항목을 반환하며, 없으면 null을 반환합니다.

연산 연결하기

여러 연산을 연결하여 데이터를 간결하게 변환합니다.

data class Product(val name: String, val price: Double, val inStock: Boolean)

fun main() {
    val products = listOf(
        Product("Laptop", 999.0, true),
        Product("Mouse", 29.0, false),
        Product("Keyboard", 79.0, true),
        Product("Monitor", 349.0, true)
    )

    // In-stock products under $500, sorted by price
    val result = products
        .filter { it.inStock && it.price < 500 }
        .sortedBy { it.price }
        .map { "${it.name}: ${it.price}" }

    result.forEach { println(it) }
}

any, all, count

빠르게 결과를 확인할 수 있는 집계 함수입니다.

  • any { condition } — 하나 이상의 항목이 일치하면 true
  • all { condition } — 모든 항목이 일치하면 true
  • count { condition } — 일치하는 항목의 수
  • sumOf { it.price } — 숫자 속성의 합계

빠른 확인

조건을 만족하는 항목만 리스트에서 가져오려면 어떤 함수를 사용해야 할까요?

복습: Kotlin 컬렉션

이제 Kotlin에서 데이터를 효율적으로 다룰 수 있습니다.

  • listOf / mutableListOf, mapOf / mutableMapOf
  • filter — 조건에 맞는 항목 선택
  • map — 항목 변환
  • sortedBy / sortedByDescending
  • 연산을 연결하여 깔끔하고 읽기 쉬운 데이터 파이프라인을 구성합니다.

다음: RecyclerView로 화면에 리스트를 표시합니다.

자주 묻는 질문

“Kotlin 컬렉션” 강의는 무료인가요?

네 — “Kotlin 컬렉션” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Android Academy 강의 전체를 잠금 해제할 수 있습니다. Android Academy 강의에는 총 6개의 강의가 포함되어 있습니다.

“Kotlin 컬렉션”에서 뭘 배우나요?

List, Set, Map을 다루고 filter, map, sortedBy, forEach, find, any, all과 같은 함수형 연산자를 사용해 간결하게 데이터 변환 작업을 연결합니다. 브라우저에서 직접 실행하는 실습 코드로 Android Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Android Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Android Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 6개 중 1번째 강의입니다.

“Kotlin 컬렉션” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Android Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Android Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Kotlin 컬렉션
  2. RecyclerView 기초
  3. RecyclerView 클릭 이벤트
  4. SharedPreferences
  5. DataStore 환경 설정
  6. 어댑터와 DiffUtil
← Android Academy(으)로 돌아가기