반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- mutablemap
- string.repeat()
- embededid
- 이메일 본인인증
- 오블완
- 스프링
- kotlin
- 복합 키
- entity
- JPQL
- 자바
- java
- Spring Boot
- 객체지향
- ispresent
- javamailsender
- devpi
- email api 구현
- map
- jpa repository
- JPA
- Token
- 스프링 부트
- @embededid
- string?
- 토큰
- 널 허용
- 코틀린
- 티스토리챌린지
- Spring
Archives
- Today
- Total
DeveloPiano
[Kotlin] Map과 MutableMap : 읽기 전용과 변경 가능한 Map의 차이점 본문
반응형
Kotlin에는 키-값 쌍의 데이터를 저장하고 관리할 수 있는 다양한 컬렉션이 있습니다. 그중에서도 Map과 MutableMap은 데이터를 키-값 쌍으로 저장하며, 둘 다 유사한 구조를 가지지만 변경 가능 여부에 따라 그 역할이 나뉩니다. 이번 포스팅에서는 Map과 MutableMap의 차이점과 사용법에 대해 알아보겠습니다.
1. Map (읽기 전용 Map)
Map은 읽기 전용 컬렉션으로, 데이터를 추가, 수정, 삭제할 수 없습니다. 키-값 쌍을 통해 데이터를 저장하며, 동일한 키를 가질 수 없다는 특징이 있습니다. 동일한 키로 여러 값을 저장하려 하면, 마지막으로 저장된 값이 해당 키의 값이 됩니다.
Map 사용법
Map은 mapOf() 함수를 사용하여 쉽게 생성할 수 있습니다.
val readOnlyMap = mapOf("a" to 1, "b" to 2, "c" to 3)
println(readOnlyMap["a"]) // 출력: 1
// readOnlyMap["d"] = 4 // 컴파일 오류: 읽기 전용 Map은 변경 불가
주요 특징
- 데이터 조회만 가능 : Map은 값 읽기만 가능하며, 수정이나 추가가 불가능합니다.
- 불변성 : 읽기 전용이므로 데이터가 안전하게 보호됩니다. 따라서 변경할 필요가 없는 데이터를 다룰 때 Map을 사용하는 것이 좋습니다.
2. MutableMap (변경 가능한 Map)
MutableMap은 Map과 달리 데이터 추가, 삭제, 수정이 가능한 컬렉션입니다. 이는 Map과 유사한 구조를 가지지만, 컬렉션을 동적으로 수정할 수 있다는 점에서 다릅니다. mutableMapOf() 함수를 사용하여 생성할 수 있습니다.
MutableMap 사용법
val mutableMap = mutableMapOf("a" to 1, "b" to 2, "c" to 3)
mutableMap["d"] = 4 // 값 추가
mutableMap["a"] = 5 // 값 수정
mutableMap.remove("b") // 값 삭제
println(mutableMap) // 출력: {a=5, c=3, d=4}
주요 특징
- 데이터 변경 가능 : MutableMap은 데이터 추가와 수정, 삭제를 모두 허용합니다.
- 컬렉션 수정 메서드 제공 : put, remove와 같은 메서드를 통해 컬렉션을 쉽게 조작할 수 있습니다.
3. Map과 MutableMap의 주요 함수 비교
함수 | Map | MutableMap |
get(key) | 키에 해당하는 값을 반환 | 키에 해당하는 값을 반환 |
put(key, value) | 사용 불가 | 키-값 쌍을 추가하거나 수정 |
remove(key) | 사용 불가 | 특정 키-값 쌍을 제거 |
containsKey(key) | 키가 존재하는지 확 | 키가 존재하는지 확인 |
Map과 MutableMap의 주요 함수들을 살펴보면, 읽기 전용 Map에서는 데이터 조회만 가능하고, MutableMap은 추가와 삭제, 수정이 모두 가능하다는 점에서 차이가 있습니다.
4. 언제 Map과 MutableMap을 사용해야 할까?
컬렉션을 선택할 때는 데이터의 변경 가능 여부가 가장 중요한 기준입니다.
- 읽기 전용 데이터 : 데이터가 한 번 정해진 후 변경되지 않는다면, Map을 사용하는 것이 좋습니다. 이렇게 하면 실수로 데이터를 수정할 가능성을 줄일 수 있습니다.
- 변경이 필요한 데이터 : 데이터의 추가, 수정, 삭제가 필요한 경우 MutableMap을 사용하여 유연하게 관리할 수 있습니다.
요약
- Map : 읽기 전용의 키-값 쌍 컬렉션으로 mapOf()를 사용하여 생성합니다. 데이터 조회만 가능하며 추가나 수정이 불가합니다.
- MutableMap : 키-값 쌍의 데이터를 변경할 수 있는 컬렉션으로 mutableMapOf()를 사용하여 생성합니다. 데이터를 추가, 삭제, 수정할 수 있습니다.
이처럼 Map과 MutableMap은 데이터가 변경될지 여부에 따라 구분하여 사용하는 것이 좋습니다.
반응형
'Develop > Kotlin' 카테고리의 다른 글
[Kotlin] Null Safety : ?와 Nullable 타입 (0) | 2024.09.02 |
---|---|
[Kotlin] it : 람다 표현식에서의 편리한 매개변수 사용법 (3) | 2024.09.02 |
[Kotlin] @field: Java와의 비교를 통한 이해 (0) | 2024.08.28 |
[Kotlin] flatten 함수 : 중첩된 컬렉션을 간편하게 평탄화 (0) | 2024.08.25 |
[Kotlin] Data Class: 간결하고 강력한 데이터 관리 방법 (4) | 2024.08.24 |