[kotlin] 코틀린 집합(Set)을 활용한 그룹화 작업

코틀린에서 Set은 고유한 요소만 포함할 수 있는 컬렉션입니다. 이 글에서는 코틀린의 Set을 활용하여 데이터를 그룹화하는 방법에 대해 알아보겠습니다.

1. Set의 기본 개념

Set은 중복된 요소를 허용하지 않고, 순서가 없는 컬렉션입니다. 이는 데이터를 유일한 값만으로 구성된 그룹으로 관리할 수 있도록 해줍니다.

val numberSet = setOf(1, 2, 3, 4, 5, 1, 2, 3)
println(numberSet) // 출력: [1, 2, 3, 4, 5]

위의 예제에서 보듯이 Set은 중복된 요소를 제거하여 1, 2, 3, 4, 5로 구성된 유일한 값으로 처리합니다.

2. Set을 활용한 그룹화 작업

이제 Set을 활용하여 데이터를 그룹화하는 방법에 대해 알아보겠습니다. 예를 들어, 여러 사람의 나이 데이터가 있을 때, 각 나이별로 그룹화하여 출력하는 방법을 살펴보겠습니다.

data class Person(val name: String, val age: Int)

val people = setOf(
    Person("Alice", 20),
    Person("Bob", 25),
    Person("Charlie", 20),
    Person("David", 25)
)

val groupedByAge = people.groupBy { it.age }
println(groupedByAge)

위의 예제에서 groupBy 함수를 사용하여 나이를 기준으로 데이터를 그룹화하였습니다. 결과는 다음과 같습니다.

{20=[Person(name=Alice, age=20), Person(name=Charlie, age=20)], 25=[Person(name=Bob, age=25), Person(name=David, age=25)]}

위의 결과를 보면 나이가 20인 그룹과 25인 그룹으로 데이터가 잘 그룹화된 것을 확인할 수 있습니다.

3. 마무리

코틀린의 Set을 활용하여 데이터를 그룹화하는 방법에 대해 알아보았습니다. Set을 사용하면 중복된 값을 허용하지 않고 유일한 값으로 처리할 수 있으며, 이를 활용하여 데이터를 효율적으로 그룹화할 수 있습니다.

참고 자료: