我正在嘗試制作自己的“Facebook 反應欄”,但遇到了一個問題,我需要根據子串列方法大小對物件串列進行排序,讓我解釋一下!
我有一個 ReactionModel,它有一個屬性“用戶名”,它是使用它的用戶名的字串串列。
我有一個代表反應的 ReactionModel 串列,例如:
val reactionsList: List<ReactionModel> = listOf(
ReactionModel(listOf("a","b","c")),
ReactionModel(listOf("z")),
ReactionModel(listOf("f","d"))
)
在這種情況下,第一個是最大的,然后是第三個,最后是第二個。
我需要對反應串列進行排序,并根據用戶名屬性的大小對其進行遞減。
輸入:
ReactionModel(listOf("a","b","c")),
ReactionModel(listOf("z")),
ReactionModel(listOf("f","d"))
輸出:
ReactionModel(listOf("z")),
ReactionModel(listOf("f","d")),
ReactionModel(listOf("a","b","c"))
我嘗試使用 forEach,但沒有成功。我在這里發現了一些問題,但只比較了兩個串列。希望能找到答案,感謝您的寶貴時間!!
編輯: 適用于 Android,所以答案可以是 Java 或 Kotlin
uj5u.com熱心網友回復:
使用 Kotlin,您可以使用單行代碼來完成,
reactionsList.sortedByDescending { it.{getYourListHere}.size }
uj5u.com熱心網友回復:
sortedBy可以用于此,我假設string串列的名稱ReactionModel是stringList.
val sortedList = reactionsList.sortedBy {
it.stringList.size
}
sortedBy不改變現有的list,但回傳sorted串列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/474653.html
