You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin标准库minBy/maxBy函数平局时的返回规则是什么?

Kotlin minBy/maxBy 平局时的返回规则

当使用minBy或maxBy处理包含两个比较值相同的对象的集合时,函数会返回集合中先出现的那个对象。

示例验证

定义一个简单的数据类,创建两个目标属性值相同的对象,通过代码直观验证:

data class Item(val name: String, val value: Int)

fun main() {
    val items = listOf(Item("A", 10), Item("B", 10))
    
    // minBy 返回集合第一个元素 Item(name=A, value=10)
    val minResult = items.minBy { it.value }
    println(minResult)
    
    // maxBy 同样返回集合第一个元素 Item(name=A, value=10)
    val maxResult = items.maxBy { it.value }
    println(maxResult)
}

运行代码后,两次输出均为Item(name=A, value=10)。这是因为minBy和maxBy的底层逻辑是遍历集合时维护当前最优元素,遇到比较值相等的元素时不会替换已记录的元素,因此保留最先遍历到的对象。


内容的提问来源于stack exchange,提问作者Paxana Non Grata

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 00:47:00