Kotlin Collections Arrays

Kotlin 컬렉션과 배열 (Collections and Arrays in Kotlin)

컬렉션 (Collections)

Kotlin은 다양한 컬렉션 타입을 제공하며, 크게 리스트(List), 집합(Set), 맵(Map)으로 나눌 수 있습니다.

리스트 (List)

리스트는 순서가 있는 요소들의 모음입니다. List는 불변 리스트이고, MutableList는 가변 리스트입니다.

리스트 예제:

val immutableList: List<String> = listOf("Apple", "Banana", "Cherry")
val mutableList: MutableList<String> = mutableListOf("Apple", "Banana", "Cherry")

fun main() {
    // 불변 리스트
    println(immutableList)  // 출력: [Apple, Banana, Cherry]
    // 가변 리스트에 요소 추가
    mutableList.add("Date")
    println(mutableList)  // 출력: [Apple, Banana, Cherry, Date]
}
집합 (Set)

집합은 순서가 없고 중복을 허용하지 않는 요소들의 모음입니다. Set은 불변 집합이고, MutableSet은 가변 집합입니다.

집합 예제:

val immutableSet: Set<String> = setOf("Apple", "Banana", "Cherry")
val mutableSet: MutableSet<String> = mutableSetOf("Apple", "Banana", "Cherry")

fun main() {
    // 불변 집합
    println(immutableSet)  // 출력: [Apple, Banana, Cherry]
    // 가변 집합에 요소 추가
    mutableSet.add("Date")
    println(mutableSet)  // 출력: [Apple, Banana, Cherry, Date]
}
맵 (Map)

맵은 키-값 쌍으로 이루어진 컬렉션입니다. Map은 불변 맵이고, MutableMap은 가변 맵입니다.

맵 예제:

val immutableMap: Map<String, Int> = mapOf("Apple" to 1, "Banana" to 2, "Cherry" to 3)
val mutableMap: MutableMap<String, Int> = mutableMapOf("Apple" to 1, "Banana" to 2, "Cherry" to 3)

fun main() {
    // 불변 맵
    println(immutableMap)  // 출력: {Apple=1, Banana=2, Cherry=3}
    // 가변 맵에 요소 추가
    mutableMap["Date"] = 4
    println(mutableMap)  // 출력: {Apple=1, Banana=2, Cherry=3, Date=4}
}

배열 (Arrays)

Kotlin에서 배열은 Array 클래스를 사용하여 정의합니다. 배열은 고정된 크기를 가지며, 동일한 타입의 요소를 포함합니다.

배열 예제:

val numbers: Array<Int> = arrayOf(1, 2, 3, 4, 5)

fun main() {
    // 배열 요소 접근
    println(numbers[0])  // 출력: 1
    // 배열 요소 변경
    numbers[0] = 10
    println(numbers[0])  // 출력: 10
    // 배열 순회
    for (num in numbers) {
        println(num)
    }
}

컬렉션 함수 (Collection Functions)

Kotlin은 컬렉션을 쉽게 다룰 수 있도록 다양한 유틸리티 함수를 제공합니다.

컬렉션 함수 예제:

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

fun main() {
    // filter: 조건에 맞는 요소를 필터링
    val evenNumbers = numbers.filter { it % 2 == 0 }
    println(evenNumbers)  // 출력: [2, 4]

    // map: 각 요소에 함수를 적용
    val doubled = numbers.map { it * 2 }
    println(doubled)  // 출력: [2, 4, 6, 8, 10]

    // reduce: 요소들을 축소하여 단일 값 생성
    val sum = numbers.reduce { acc, num -> acc + num }
    println(sum)  // 출력: 15
}

Kotlin의 컬렉션과 배열을 이해하고 활용하면 데이터를 더욱 효율적으로 관리하고 처리할 수 있습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *