[kotlin] 배열을 특정 값을 기준으로 그룹화하는 방법은?

groupBy 함수는 컬렉션의 요소를 지정된 키로 그룹화하여 Map 형태로 반환합니다. 이를 사용하여 배열을 그룹화할 수 있습니다.

아래 예제를 통해 배열을 특정 값을 기준으로 그룹화하는 방법을 알아보겠습니다:

fun main() {
    val numbers = arrayOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

    val groups = numbers.groupBy { it % 2 == 0 }

    println(groups)
}

위 코드의 결과는 다음과 같습니다:

{false=[1, 3, 5, 7, 9], true=[2, 4, 6, 8, 10]}

해당 예제에서는 numbers 배열을 홀수와 짝수로 그룹화했습니다. groupBy 함수는 it % 2 == 0를 기준으로 요소를 그룹화하여 Map으로 반환하였습니다.

위 코드에서는 불리언 값을 사용하여 그룹을 구분했지만, 기준이 될 값이 숫자나 문자열일 수도 있습니다. groupBy 함수는 어떠한 유형의 값을 기준으로 그룹화하던지 사용할 수 있습니다.

더 자세한 내용은 Kotlin 공식 문서의 groupBy 함수를 참조하시기 바랍니다.