在Kotlin中进行排序和分组

我在kotlin中有一个对象列表,我想按数字然后按字符串对它们进行排序。有没有办法做到这一点?我已经浏览了数百篇文章,但是任何地方都无济于事。

myList.sortedWith(compareBy<Item> {it.name.id }.thenBy{it.name.secondname}) 此代码无效。

mylist当然是Item的一种。

问候

@EDIT

但是,如果我有10个相同的ID,该怎么办?该代码将无法通过.thenBy检查。是否可以检查整个字段对?

kykooo 回答:在Kotlin中进行排序和分组

myList.sortedWith(compareBy<Item> {it.name.id }.thenBy{it.name.secondname})返回列表的排序后的副本,但不会修改原始列表。

如果您想修改原始列表,则可以使用sortWith代替sortedWith

myList.sortWith(compareBy<Item> { it.name.id }.thenBy { it.name.secondname })

或重新分配myList变量:

myList = myList.sortedWith(compareBy<Item> { it.name.id }.thenBy { it.name.secondname })
本文链接:https://www.f2er.com/2977662.html

大家都在问