kotlin中的排序和分组
Sorting and grouping in kotlin
我在 kotlin 中有一个对象列表,我想按数字然后按字符串对它们进行排序。有没有办法做到这一点?我浏览了数百篇文章,但没有任何效果。
myList.sortedWith(compareBy<Item> {it.name.id }.thenBy{it.name.secondname})
此代码无效。
myList当然是Item的一种。
问候
@编辑
但是如果我有 10 个相同的 ID 怎么办?代码不会到达 .thenBy 检查。是否可以检查整对字段?
myList.sortedWith(compareBy<Item> {it.name.id }.thenBy{it.name.secondname})
returns 列表的排序副本,但不会修改原始列表。
如果要修改原始列表,可以使用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 })
我在 kotlin 中有一个对象列表,我想按数字然后按字符串对它们进行排序。有没有办法做到这一点?我浏览了数百篇文章,但没有任何效果。
myList.sortedWith(compareBy<Item> {it.name.id }.thenBy{it.name.secondname})
此代码无效。
myList当然是Item的一种。
问候
@编辑
但是如果我有 10 个相同的 ID 怎么办?代码不会到达 .thenBy 检查。是否可以检查整对字段?
myList.sortedWith(compareBy<Item> {it.name.id }.thenBy{it.name.secondname})
returns 列表的排序副本,但不会修改原始列表。
如果要修改原始列表,可以使用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 })