[kotlin] 코틀린에서 콜렉션 타입을 이용한 데이터 최댓값 구하기

코틀린에서는 콜렉션을 사용하여 데이터의 최댓값을 구하는 다양한 방법이 있습니다. 이번 포스트에서는 리스트와 배열을 포함한 여러 콜렉션 타입을 이용하여 데이터의 최댓값을 찾는 방법에 대해 알아보겠습니다.

리스트에서 최댓값 구하기

리스트에서 최댓값을 구하는 가장 간단한 방법은 max() 함수를 사용하는 것입니다. 예를 들어, 아래와 같이 리스트를 생성하고 max() 함수를 호출하여 최댓값을 구할 수 있습니다.

val list = listOf(3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5)
val max = list.max()
println("최댓값: $max")

배열에서 최댓값 구하기

배열에서 최댓값을 구하는 방법 또한 간단합니다. 코틀린에서는 배열로부터 최댓값을 찾기 위해 max() 함수를 사용할 수 있습니다.

val array = intArrayOf(3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5)
val max = array.max()
println("최댓값: $max")

사용자 정의 객체에서 최댓값 구하기

만약 사용자가 정의한 객체를 요소로 가지는 리스트에서 최댓값을 구하려면 해당 객체에 대해 비교 연산을 정의해야 합니다. 예를 들어, 사용자가 정의한 Person 클래스를 요소로 가지는 리스트에서 나이가 가장 많은 사람을 찾으려면 maxBy() 함수를 사용할 수 있습니다.

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

fun main() {
    val people = listOf(Person("Alice", 29), Person("Bob", 31), Person("Charlie", 25))
    val oldest = people.maxBy { it.age }
    println("나이가 가장 많은 사람: $oldest")
}

요약

콜렉션 타입을 다룰 때 최댓값을 구하는 방법에 대해 알아보았습니다. 리스트와 배열에서는 max() 함수를 사용하여 간단하게 최댓값을 구할 수 있고, 사용자가 정의한 객체를 요소로 가지는 리스트에서는 maxBy() 함수를 활용하여 특정 조건에 따른 최댓값을 찾을 수 있습니다.

코틀린에서는 간편한 함수를 제공하여 다양한 콜렉션 타입에 대해 최댓값을 손쉽게 구할 수 있는데, 이를 활용하여 효율적인 데이터 처리를 할 수 있습니다.

참고: Kotlin 공식 문서