[kotlin] 맵(Map)을 사용하여 데이터를 그룹화하는 방법은 무엇인가요?

1. 그룹화하기

먼저, 원하는 데이터를 맵에 그룹화할 수 있습니다. 예를 들어, 이름과 나이를 가진 Person 객체의 리스트가 있다고 가정해 봅시다. 이름을 기준으로 그룹화하려면 다음과 같이 할 수 있습니다.

val people = listOf(
    Person("Alice", 20),
    Person("Bob", 25),
    Person("Alice", 30)
)

val groupedPeople = people.groupBy { it.name }

위 코드에서 groupBy 함수를 사용하여 이름을 기준으로 Person 객체들을 그룹화했습니다. 이렇게 하면 “Alice”와 “Bob”이라는 키를 갖는 맵이 생성됩니다.

2. 결과 확인하기

이제 groupedPeople 맵을 사용하여 그룹화된 결과를 확인할 수 있습니다.

println(groupedPeople)

실행 결과는 다음과 같을 것입니다.

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

위와 같이 이름을 기준으로 데이터를 그룹화할 수 있습니다.

이렇게 맵(Map)을 사용하여 데이터를 그룹화하면 데이터를 효과적으로 구성하고 분석하는 데 도움이 됩니다.