[kotlin] 코틀린에서의 맵 타입 변환 함수

코틀린은 강력한 타입 시스템을 가지고 있어 데이터 변환을 쉽게 할 수 있습니다. 리스트, 배열 등의 구조를 다른 타입으로 변환하는 것은 쉽지만, 맵(Map) 타입의 변환은 조금 더 복잡할 수 있습니다. 이번 포스트에서는 코틀린에서 맵 타입을 다른 타입으로 변환하는 함수에 대해 알아보겠습니다.

1. toList() 함수

코틀린에서 Map 객체는 키와 값의 쌍으로 이루어진 데이터 구조입니다. 기본적으로 Map 객체는 to 키워드를 사용하여 다른 타입으로 변환할 수 있습니다. toList() 함수는 Map 객체를 키-값 쌍의 리스트로 변환합니다.

val map = mapOf("key1" to "value1", "key2" to "value2", "key3" to "value3")
val list = map.toList()

println(list)

위의 코드는 Map 객체를 toList() 함수를 사용하여 리스트로 변환한 후, 변환된 리스트를 출력하는 예제입니다. 결과는 [(key1, value1), (key2, value2), (key3, value3)]와 같이 키와 값의 쌍으로 이루어진 리스트가 출력됩니다.

2. toSet() 함수

toSet() 함수는 Map 객체를 집합(Set)으로 변환합니다. 집합은 중복된 요소를 허용하지 않기 때문에, 중복된 키는 하나로 처리됩니다.

val map = mapOf("key1" to "value1", "key2" to "value2", "key3" to "value3", "key3" to "value4")
val set = map.toSet()

println(set)

위의 코드는 중복된 키(key3)를 갖는 Map 객체를 toSet() 함수를 사용하여 집합으로 변환한 후, 변환된 집합을 출력하는 예제입니다. 결과는 [(key1, value1), (key2, value2), (key3, value4)]와 같이 중복된 키가 제거된 집합이 출력됩니다.

3. toMutableMap() 함수

toMutableMap() 함수는 Map 객체를 가변적인(Mutable) Map 객체로 변환합니다. 가변적인 Map 객체는 키와 값의 추가, 수정, 삭제가 가능합니다.

val map = mapOf("key1" to "value1", "key2" to "value2", "key3" to "value3")
val mutableMap = map.toMutableMap()

mutableMap["key4"] = "value4"

println(mutableMap)

위의 코드는 toMutableMap() 함수를 사용하여 Map 객체를 가변적인 Map 객체로 변환한 후, key4value4를 추가한 후, 변환된 Map을 출력하는 예제입니다. 결과는 {key1=value1, key2=value2, key3=value3, key4=value4}와 같이 키와 값의 추가가 가능한 Map 객체가 출력됩니다.

참고 자료