Kotlin - Aggregate Operations(2) :count, mas, min, average, sum, sumOf

Bettor·2024년 3월 18일

오늘은 aggregate operations에 대해 다뤄보겠다.
aggregate : 집계, 컬렉션 콘텐츠를 기반으로 단일 값을 반환하는 작업

아래 코드와 주석을 살펴보자.

    val numbers = listOf(6, 42, 10, 4)

    println("Count: ${numbers.count()}") // Count: 4, 원소의 개수
    println("Max: ${numbers.maxOrNull()}") // Max: 42, 원소 중 가장 큰 값
    println("Min: ${numbers.minOrNull()}") // Min: 4, 원소 중 가장 작은 값
    println("Average: ${numbers.average()}") // Average: 15.5, 원소들의 평균 값
    println("Sum: ${numbers.sum()}") // Sum: 62, 원소들의 총합

sumOf()라는 함수도 있다. 이 고급함수로 편하게 총합 값에 추가로 연산할 수 있고, 다양한 숫자 유형을 반환할 수 있다.
ex. Int, Long, Double, Unit, ULong, 또한 JVM에서는 BingInteger와 BigDecimal도.

val numbers = listOf(5, 42, 10, 4)
    println(numbers.sumOf { it * 2 }) // 122, 총합의 x2
    println(numbers.sumOf { it.toDouble() / 2 }) // 30.5, 총합의 /2

다음

https://velog.io/@delvering17/Kotlin-Comparable-Comparator
이거에 대해 다룬다.

0개의 댓글