我是Kotlin的新手,我有以下任务。我有一个包含字段的对象列表(专辑)和一个包含另一个对象(歌曲)的列表。我需要对专辑和歌曲列表及其属性进行排序。到目前为止我尝试过的
albumList.onEach { it.songs.sortedByDescending { song -> song.isFavorite}
.sortedByDescending { it.createDate }
结果,专辑列表是按其createDate属性排序的,而歌曲列表则不是。有什么我想念的吗?谢谢
我发现了一些“肮脏”的解决方案。我对此不太满意,但是可以。
val newList: List<Album> = albumList
// Sort albums
.sortedWith(compareBy { it.createDate })
// Sort songs inside each of albums
.map { album ->
album.apply {
// Assign NEW list
songs = album.songs.sortedWith(compareBy { it.isFavorite })
}
}
1)按创建日期对相册进行排序 createDate
2)对于每个专辑:
songs
songs
排序(将sorted分配songs
给songs
field,因此var
不必设置为val
)本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句