코틀린 맵 예제 (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

+ Recent posts