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의 컬렉션과 배열을 이해하고 활용하면 데이터를 더욱 효율적으로 관리하고 처리할 수 있습니다.