繁体   English   中英

对 Kotlin 中的可变对象列表进行排序

[英]Sort a mutable list of objects in Kotlin

有一个 class 名称录音,带有参数歌曲、艺术家和播放时间

class Recording {
    var title: String
    var artists: String
    var playingTime: Int

    constructor(t: String, a: String, p: Int) {
        title = t
        artists = a
        playingTime = p
    }
}

我有一个可变的对象列表,我需要根据每个参数(即歌曲、艺术家和播放时间)对其进行排序。

 var list = mutableListOf<Recording>(
     Recording("Sorry", "Justin Bieber", 420),
     Recording("a", "a", 1),
     Recording("b", "b", 2)
 )

您可以尝试使用 sortedWith 或 sortBy 方法对对象列表进行排序。

方法一:

val result = list.sortedWith(compareBy({ it.title }, { it.artists }, {it.playingTime}))

方法二:

val list1 = list.sortBy { it.title }
val list2 = list.sortBy { it.artists }
val list3 = list.sortBy { it.playingTime }

在第一种方法中,您将获得排序列表的列表,第二种方法将为您提供不同列表中的排序结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM