从Kotlin中的MutableList排序数据

VTR*_*015 6 list mutable kotlin

我是Kotlin的新手,需要问一些有关订购的问题MutableList<MyObject>.据我所知,我可以做一个myMutableList.sortBy {it.int}myMutableList.sortByDescending {it.int}两个IntString.但回归始终是一个Unit而不是一个MutableList.

我哪里出错了,我该怎么办?

wes*_*ton 11

Mutable意味着可更改,因此有意义的是,不是sortBy返回新列表,而是在当前列表中"已就位"更改了项目的顺序.

尝试查看myMutableList之后的项目顺序,sortBy您将看到它们现在处于请求的顺序.


msr*_*rd0 6

在科特林功能sortsortBysortWith等所有排序列表本身的项目。
从文档sort

根据其元素的自然顺序对数组进行就地排序。

如果你不想就地元素进行排序,而是返回一个排序列表(您的基地并不需要是一个MutableList),你可以使用sortedsortedBysortedWith等:

返回根据自然排序顺序排序的所有元素的列表。


小智 5

您可以使用 mutableList 的扩展方法。喜欢

list.sort()
list.sortBy{it.value}
list.sortByDescending()
list.sortByDescending{it.value}
Run Code Online (Sandbox Code Playgroud)