[kotlin] 코틀린에서 콜렉션 타입을 이용한 중복 제거하기

코틀린에서는 다양한 방법을 사용하여 콜렉션 타입에서 중복된 요소를 제거할 수 있습니다. 이 글에서는 리스트, 세트, 맵 등의 콜렉션 타입에서 중복을 제거하는 간단하면서도 효율적인 방법에 대해 살펴보겠습니다.

리스트에서 중복 제거

코틀린에서 리스트에서 중복된 요소를 제거하려면 distinct() 메서드를 사용할 수 있습니다. 이 메서드는 리스트 내의 중복된 모든 요소를 제거한 새로운 리스트를 반환합니다. 다음은 distinct() 메서드를 사용하는 예제 코드입니다.

val listWithDuplicates = listOf(1, 2, 3, 2, 4, 5, 3)
val listWithoutDuplicates = listWithDuplicates.distinct()

위의 예제 코드에서 listWithoutDuplicates[1, 2, 3, 4, 5]와 같이 중복된 요소가 제거된 결과를 가지게 됩니다.

세트를 이용한 중복 제거

세트는 중복을 허용하지 않는 콜렉션 타입이기 때문에 세트를 이용하여 중복을 자연스럽게 제거할 수 있습니다. 세트를 사용하면 요소를 추가할 때 자동으로 중복을 제거해주기 때문에 추가적으로 중복을 제거할 필요가 없습니다.

val listWithDuplicates = listOf(1, 2, 3, 2, 4, 5, 3)
val setWithoutDuplicates = listWithDuplicates.toSet()

위의 예제 코드에서 setWithoutDuplicates[1, 2, 3, 4, 5]와 같이 중복된 요소가 제거된 결과를 가지게 됩니다.

맵에서 중복 제거

맵에서 중복된 값을 제거하는 방법은 키 또는 값에 대해 중복을 제거하는 방법이 있습니다.

val mapWithDuplicates = mapOf(1 to "one", 2 to "two", 3 to "two", 4 to "four", 5 to "five")
val mapWithoutDuplicates = mapWithDuplicates.entries.associateBy({it.value}, {it.key})

위의 예제 코드에서 mapWithoutDuplicates{"one"=1, "two"=3, "four"=4, "five"=5}와 같이 값에 대한 중복이 제거된 결과를 가지게 됩니다.

결론

코틀린에서는 리스트, 세트, 맵 등 다양한 콜렉션 타입을 이용하여 중복된 요소를 손쉽게 제거할 수 있습니다. 각 콜렉션 타입에 맞게 적절한 방법을 사용하여 중복을 제거하여 보다 효율적인 데이터 처리를 할 수 있습니다.

자세한 내용은 Kotlin 공식 문서를 참고하세요. Kotlin 공식 문서 - Collection Operations