如何在 Kotlin 中更改 compareBy 的顺序

How to change the order of compareBy in Kotlin

我需要一个比较器,在 Kotlin 中,对进入我的回收器视图的每个对象进行排序(使用快速适配器)。

我需要按整数对对象进行排序,其中最大的在前。

上面的代码对进入我的列表的对象进行排序,但最大的在列表的末尾。有没有办法颠倒顺序?

playersFastAdapter.itemAdapter.withComparator(compareBy({ it.player.goals }, {it.player.assists}), true)

您可以随时使用 compareByDescending

根据Mitja Slenc on Kotlin forum的建议:

改为compareBy({ -it.player.goals}, {-it.player.assists})

现在它按照我想要的方式工作!

mylist.sortWith(compareBy<Player> { it.name }.thenBy { it.age }.thenBy { it.gender })

mylist.sortWith(compareByDescending<Player> { it.name }
    .thenByDescending { it.age }.thenBy { it.gender })