如何在 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 })
我需要一个比较器,在 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 })