코틀린 맵 예제 (mapOf(), mutableMapOf(), HashMap())
코틀린에서 맵은 키-값 쌍으로 이루어진 컬렉션입니다.
각 키는 고유해야 하며, 해당 키를 사용하여 값에 접근할 수 있습니다. 맵은 데이터를 저장하고 검색하는 데 유용하게 사용됩니다.
다음은 코틀린에서 맵을 선언하고 사용하는 다양한 예제입니다.
1. mapOf() 함수
mapOf() 함수는 지정된 키-값 쌍으로 이루어진 불변 맵을 생성합니다.
val capitals = mapOf("Korea" to "Seoul", "Japan" to "Tokyo", "China" to "Beijing") // 불변 맵
println(capitals["Korea"]) // 출력: Seoul
println(capitals["Japan"]) // 출력: Tokyo
// capitals["USA"] = "Washington D.C." // 오류: 불변 맵은 수정할 수 없습니다.
2. mutableMapOf() 함수
mutableMapOf() 함수는 지정된 키-값 쌍으로 이루어진 가변 맵을 생성합니다.
val ages = mutableMapOf("John" to 30, "Jane" to 25) // 가변 맵
println(ages["John"]) // 출력: 30
ages["Mike"] = 40 // 새 요소 추가
println(ages["Mike"]) // 출력: 40
ages["John"] = 31 // 기존 요소 수정
println(ages["John"]) // 출력: 31
ages.remove("Jane") // 요소 삭제
println(ages) // 출력: {John=31, Mike=40}
3. HashMap() 생성자
HashMap() 생성자를 사용하여 가변 맵을 생성할 수도 있습니다.
val scores = HashMap<String, Int>()
scores["John"] = 80
scores["Jane"] = 90
scores["Mike"] = 75
println(scores) // 출력: {John=80, Jane=90, Mike=75}
4. 맵 접근
맵의 값에 접근하려면 키를 사용합니다.
val capitals = mapOf("Korea" to "Seoul", "Japan" to "Tokyo", "China" to "Beijing")
println(capitals["Korea"]) // 출력: Seoul
5. 맵 크기
맵 크기를 확인하려면 size 프로퍼티를 사용합니다.
val capitals = mapOf("Korea" to "Seoul", "Japan" to "Tokyo", "China" to "Beijing")
println(capitals.size) // 출력: 3
6. 맵 반복
for 루프를 사용하여 맵의 모든 키-값 쌍을 반복 처리할 수 있습니다.
val ages = mapOf("John" to 30, "Jane" to 25, "Mike" to 40)
for ((key, value) in ages) {
println("$key is $value years old")
}
7. 맵에서 키, 값, 또는 키-값 쌍 가져오기
- keys: 맵의 모든 키를 반환합니다.
- values: 맵의 모든 값을 반환합니다.
- entries: 맵의 모든 키-값 쌍을 반환합니다.
val capitals = mapOf("Korea" to "Seoul", "Japan" to "Tokyo", "China" to "Beijing")
println(capitals.keys) // 출력: [Korea, Japan, China]
println(capitals.values) // 출력: [Seoul, Tokyo, Beijing]
println(capitals.entries) // 출력: [Korea=Seoul, Japan=Tokyo, China=Beijing]
맵은 다양한 상황에서 유용하게 활용될 수 있으며,
컬렉션 프레임워크와 함께 사용하면 더욱 강력한 기능을 구현할 수 있습니다.
반응형
'Kotlin' 카테고리의 다른 글
코틀린 열거형(enum) 예제 (0) | 2025.02.01 |
---|---|
코틀린 집합형(setOf) 예제 (0) | 2025.02.01 |
코틀린 함수 예제 (0) | 2025.02.01 |
코틀린 forEach, forEachIndexed 반복문 예제 (0) | 2025.02.01 |
코틀린 배열 예제 (0) | 2025.02.01 |