코틀린은 강력한 타입 시스템을 가지고 있어 데이터 변환을 쉽게 할 수 있습니다. 리스트, 배열 등의 구조를 다른 타입으로 변환하는 것은 쉽지만, 맵(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 객체로 변환한 후, key4
와 value4
를 추가한 후, 변환된 Map을 출력하는 예제입니다. 결과는 {key1=value1, key2=value2, key3=value3, key4=value4}
와 같이 키와 값의 추가가 가능한 Map 객체가 출력됩니다.