PHpullh
학습 라이브러리/Kotlin/List, Set, Map 생성과 기초

KOTLIN · 컬렉션

List, Set, Map 생성과 기초

불변/가변 컬렉션 생성 함수와 기본 조작 방법을 익힙니다.

컬렉션입문ListSetMapmutableListmapOf

핵심 설명

불변/가변 컬렉션 생성 함수와 기본 조작 방법을 익힙니다.

Kotlin code

// 불변 컬렉션
val list = listOf(1, 2, 3, 4, 5)
val set  = setOf("a", "b", "c", "b")    // 중복 제거
val map  = mapOf("one" to 1, "two" to 2)

// 가변 컬렉션
val mList = mutableListOf(1, 2, 3)
mList.add(4)
mList.removeAt(0)
mList[0] = 99

val mMap = mutableMapOf("a" to 1)
mMap["b"] = 2
mMap.remove("a")

// 읽기 안전
println(map["one"])          // 1 (Int?)
println(map.getOrDefault("three", 0))  // 0
println(map.getOrElse("three") { -1 }) // -1

// 컬렉션 + 연산
val combined = list + listOf(6, 7)     // 새 리스트 반환
val filtered = list - listOf(2, 4)     // [1, 3, 5]

// 배열
val arr = arrayOf(1, 2, 3)
val intArr = intArrayOf(1, 2, 3)       // primitive 배열
println(intArr.sum())                   // 6

학습 팁

listOf()가 반환하는 타입은 List(불변 뷰)입니다. 실제로는 Java ArrayList일 수 있지만 Kotlin 타입 시스템이 변경을 막습니다.

주의할 점

listOf()로 만든 리스트에 add()를 호출하면 컴파일 에러가 아니라 런타임 에러(UnsupportedOperationException)가 날 수 있습니다.

자주 묻는 질문

List, Set, Map 생성과 기초란 무엇인가요?

불변/가변 컬렉션 생성 함수와 기본 조작 방법을 익힙니다.

List, Set, Map 생성과 기초 학습 시 주의할 점은 무엇인가요?

listOf() 로 만든 리스트에 add() 를 호출하면 컴파일 에러가 아니라 런타임 에러( UnsupportedOperationException )가 날 수 있습니다.