Kotlin

minOf / maxOf / sumOf / averageOf

admin by @admin ADMIN
Jun 13, 2026
Jun 1, 2026
Public
0 0 up · 0 down Sign in to vote
Numerical reducers with a selector lambda — much cleaner than `.map { ... }.max()` chains. `sumOf` is type-aware (returns Int, Long, Double, BigDecimal as appropriate).
Kotlin
Raw
data class Order(val id: Int, val amount: Double, val qty: Int)

fun main() {
    val orders = listOf(
        Order(1, 99.99,  2),
        Order(2, 12.50,  5),
        Order(3, 45.00,  3),
    )

    val totalRevenue: Double = orders.sumOf { it.amount * it.qty }
    println(totalRevenue)                               // 412.48

    val biggest: Order = orders.maxBy { it.amount }
    println(biggest.id)                                 // 1

    val highestAmount: Double = orders.maxOf { it.amount }
    println(highestAmount)                              // 99.99

    val avgQty: Double = orders.map { it.qty }.average()
    println(avgQty)                                     // 3.33

    // Safer null-aware versions for possibly-empty lists
    val maybeBiggest = orders.maxByOrNull { it.amount }
    val maybeMax     = orders.maxOfOrNull { it.amount }
}
Tags

Save your own code snippets

Create a free account and build your private vault. Share publicly whenever you want.