[kotlin] 코틀린 집합(Set)의 원소들을 맵으로 변환하기

코틀린에서는 집합(Set)과 맵(Map)이라는 두 가지 유용한 데이터 구조를 제공합니다. 때때로 집합에 있는 원소들을 맵 형태로 변환해야 하는 상황이 있을 수 있습니다. 이 글에서는 코틀린의 Set을 Map으로 변환하는 방법에 대해 알아보겠습니다.

집합(Set)을 맵(Map)으로 변환하기

코틀린에서 집합(Set)을 맵(Map)으로 변환하려면 associate 함수를 사용하면 됩니다. 이 함수를 사용하면 집합의 각 원소를 키로 사용하여 맵을 생성할 수 있습니다.

예를 들어, 다음과 같은 집합이 있다고 가정해봅시다.

val set = setOf("a", "b", "c")

이 집합을 각 원소를 키로 하고 값을 고정된 값으로 가지는 맵으로 변환하려면 다음과 같이 할 수 있습니다.

val map = set.associate { it to 1 }

위 예제에서 associate 함수를 사용하여 각 원소를 키로 하고 값으로 1을 가지는 맵을 생성하였습니다. 그 결과는 다음과 같습니다.

{a=1, b=1, c=1}

위와 같이 집합을 맵으로 변환할 수 있습니다.

집합의 원소에 대해 특정한 로직을 적용하여 맵으로 변환하기

만약 집합의 각 원소에 대해 특정한 로직을 적용하여 맵으로 변환하고 싶다면 associate 함수에 해당 로직을 적용하면 됩니다.

예를 들어, 다음과 같이 집합이 있다고 가정해봅시다.

val set = setOf("apple", "banana", "cherry")

이 집합을 각 원소의 길이를 키로 하고 해당 원소를 값으로 가지는 맵으로 변환하려면 다음과 같이 할 수 있습니다.

val map = set.associate { it.length to it }

위 예제에서 associate 함수에 각 원소의 길이를 키로 하고 해당 원소를 값으로 가지는 로직을 적용하여 맵을 생성하였습니다. 결과는 다음과 같습니다.

{5=apple, 6=banana, 6=cherry}

마무리

코틀린의 집합(Set)을 맵(Map)으로 변환하는 방법에 대해 알아보았습니다. associate 함수를 이용하여 간단하게 집합을 맵으로 변환할 수 있습니다. 집합을 맵으로 변환하는 유연성 있는 기능을 통해 데이터를 효율적으로 다룰 수 있습니다.