我是Kotlin的新手,需要询问一些关于订购MutableList<MyObject>
的问题。据我所知,我可以为Int
和String
做myMutableList.sortBy {it.int}
和myMutableList.sortByDescending {it.int}
。但返回始终是Unit
而不是MutableList
。对Kotlin中MutableList中的数据进行排序
我在哪里出错了,我该如何继续?
我是Kotlin的新手,需要询问一些关于订购MutableList<MyObject>
的问题。据我所知,我可以为Int
和String
做myMutableList.sortBy {it.int}
和myMutableList.sortByDescending {it.int}
。但返回始终是Unit
而不是MutableList
。对Kotlin中MutableList中的数据进行排序
我在哪里出错了,我该如何继续?
可变的意思是可变的,所以它有意义,而不是sortBy
返回一个新的列表,项目的顺序已经在当前列表中“就地”改变。
尝试查看myMutableList
中物品的订单,之后sortBy
,你会看到他们现在按要求的顺序。
要按一个可变的列表,你可以使用:
Collections.sort(myMutableList)
Collections.reverse(myMutableList) //To sort the list by descending order
而且在科特林可以使用合同科特林STDLIB指令,它变成:
myMutableList.sort()
myMutableList.reverse() //To sort the list by descending order
然后你就可以调用myMutableList
它的订单发生了变化,如下所示:
val myMutableList = mutableListOf(8,5,4,6)
System.out.println("myMutableList: ${myMutableList[0]}")
myMutableList.sort()
System.out.println("myMutableList: ${myMutableList[0]}")
输出:
myMutableList: 8
myMutableList: 4