list - Kotlin - 基于对象属性对 MutableList 进行排序

标签 list sorting kotlin

我有这个 token 对象:

class Token(type: TokenType, value: String, position: IntRange = 0..0)

我声明一个 MutableList:
val tokens: MutableList<Token> = mutableListOf()

// Mutable List filled

现在我想根据位置 IntRange 的第一个值对我的列表进行排序。我尝试这样做:
tokens
          .sortedBy { it.position.first }

但是,使用 it 关键字后我无法访问该对象,因此位置以红色突出显示。

有什么建议?

最佳答案

另一个观察结果是 sortedBy返回列表的排序副本。如果你想对你的可变列表进行排序,你应该使用 sortBy功能:

tokens.sortBy { it.position.first } 
// tokens is sorted now

关于list - Kotlin - 基于对象属性对 MutableList 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45130583/

相关文章:

Angular ,类型错误 : Cannot read property 'sort' of undefined

Flutter DataTable 中的列值排序

安卓三色渐变

python - 展平混合类型的列表

python - 在Python中,如何根据规则将值 append 到列表中的数字?

python - 将循环变成列表 python

sorting - 对Elasticsearch日期字段进行基于脚本的排序

intellij-idea - 有没有办法从 kotlin 项目的 build.gradle 获取版本?

android - Kotlin onClick事件和架构最佳实践

html - 如何在菜单中设置列表样式?