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

Kotlin如何对自定义Edge类组成的mutableList按weight属性升序排序

Kotlin 按对象属性排序列表解决方案

Kotlin 标准库已经提供了对应的内置排序函数,不需要手动实现排序算法。

两种常用实现方式

  • 原地修改原列表排序:直接调用可变列表的sortBy扩展方法,指定按weight属性排序即可,代码如下:

    Sides.sortBy { it.weight }
    

    执行后原Sides列表就会变成你需要的按weight升序排列的结果。

  • 不修改原列表,返回新的排序后列表:使用sortedBy方法:

    val sortedSides = Sides.sortedBy { it.weight }
    

    该方法不会改动原Sides列表,返回的新列表sortedSides为升序排列结果。

如果需要按weight降序排序,替换成sortByDescending或者sortedByDescending方法即可。

完整示例代码

// Kotlin 类默认是public修饰,可省略public关键字
class Edge(val v: Int, val u: Int, val weight: Double)

fun main() {
    var Sides = mutableListOf<Edge>(
        Edge(4, 8, 4.1),
        Edge(20, 9, 7.5),
        Edge(5, 4, 0.0)
    )
    // 按weight升序排序
    Sides.sortBy { it.weight }
    // 输出验证
    Sides.forEach { 
        println("Edge(${it.v}, ${it.u}, ${it.weight})") 
    }
}

输出结果

Edge(5, 4, 0.0)
Edge(4, 8, 4.1)
Edge(20, 9, 7.5)

内容的提问来源于stack exchange,提问作者vale383

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:45:03