-
[Kotlin] 코틀린의 Map: mapOf, mutableMapOf, Map의 차이IT Study/컴퓨터 기초 2023. 12. 27. 16:52728x90
코틀린 역시 컬렉션 라이브러리를 제공하며, 그 중 맵(map)은 키-값 쌍을 저장하는 데 사용됩니다.
맵은 Map, mapOf, mutableMapOf 등 다양한 방식으로 표현될 수 있습니다.
이들 각각의 차이점과 사용 시기에 대해 알아봅시다.
1. Map
Map은 코틀린에서 제공하는 인터페이스입니다.
Map 타입의 변수는 변경 불가능한 맵(read-only map) 또는 변경 가능한 맵(mutable map)을 참조할 수 있습니다.
이를 통해 프로그램의 유연성을 높여줍니다.
val map1: Map<String, Int> = mapOf("one" to 1, "two" to 2) val map2: Map<String, Int> = mutableMapOf("one" to 1, "two" to 2)
2. mapOf
mapOf는 변경이 불가능한 맵(read-only map)을 생성하는 함수입니다.
생성된 맵은 요소의 추가, 삭제, 수정이 불가능합니다.
mapOf를 사용하는 경우는 맵의 내용이 실행 도중 변경되지 않아야 할 때입니다.
val map: Map<String, Int> = mapOf("one" to 1, "two" to 2)
3. mutableMapOf
mutableMapOf는 변경이 가능한 맵(mutable map)을 생성하는 함수입니다.
생성된 맵은 요소의 추가, 삭제, 수정이 가능합니다.
mutableMapOf를 사용하는 경우는 맵의 내용이 실행 도중 변경될 수 있어야 할 때입니다.
val mutableMap: MutableMap<String, Int> = mutableMapOf("one" to 1, "two" to 2) mutableMap["three"] = 3 // 요소 추가
정리하자면
▶ 맵의 내용이 변경되지 않아야 하며, 모든 요소가 처음부터 알려져 있는 경우에는 mapOf를 사용합니다.
▶ 맵의 내용이 실행 도중에 변경될 수 있어야 하는 경우에는 mutableMapOf를 사용합니다.
▶ 맵이 변경 가능한지 여부를 유연하게 다루어야 하는 경우에는 Map 인터페이스를 사용합니다.
이 경우 실제 인스턴스는 실행 도중에 결정될 수 있습니다.'IT Study > 컴퓨터 기초' 카테고리의 다른 글
[CS] 신입 개발자 기술면접 질문 - 안드로이드 편 (feat. 진행 중 ing) (2) 2024.01.15 함수의 Parameter와 Argument (feat. 매개변수? 전달인자?) (0) 2024.01.14 [Kotlin] 알고리즘 풀이하며 배운 개념 정리하기 (feat. addAll, mutableSetOf -Set) (2) 2023.12.26 [TypeScript] 타입 스크립트 헷갈리는 기초 문법 (0) 2023.10.03 [CS] 신입 개발자 기술면접 질문 - 자료구조 편 (2) 2023.09.29