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

如何在Kotlin中按首个元素对二维MutableList<Any>排序

在Kotlin中按二维可变列表的首个元素排序

要实现按子列表首个元素的字母顺序排序,Kotlin提供了简洁的API,以下分两种场景给出实现方案:

1. 原地修改原列表排序

使用sortBy函数直接对原可变列表进行排序,排序后原列表会被修改:

val books = mutableListOf<List<Any>>(
    listOf("abc","b",1),
    listOf("abb","y",2),
    listOf("abcl","i",3)
)

// 按子列表首个字符串元素排序
books.sortBy { it[0] as String }
println(books)
// 输出:[[abb, y, 2], [abc, b, 1], [abcl, i, 3]]

2. 生成新的排序后列表(不修改原列表)

如果不想改动原列表,使用sortedBy函数返回一个新的排序后的列表:

val sortedBooks = books.sortedBy { it[0] as String }
println(sortedBooks)
// 输出结果与预期一致

优化建议

如果子列表的首个元素确定是字符串,建议声明更严谨的类型,避免类型转换操作:

// 明确子列表元素类型,首个元素为字符串
val books = mutableListOf(
    listOf("abc","b","1"),
    listOf("abb","y","2"),
    listOf("abcl","i","3")
)
// 无需类型转换,直接按首个元素排序
books.sortBy { it[0] }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 04:15:39