has*_*rix 6 sorting collections android match kotlin
我有一个未排序的用户列表和一个已排序的用户ID列表。id是一个字符串。我想按第二个排序第一列表。如何在Kotlin中做到这一点?
data class User(val name : String, val id : String)
val unsorted = listOf<User>(
User("Max", "b12s11"),
User("Joe", "dj1232"),
User("Sam", "23d112"),
User("Tom", "k213i1")
)
val sorted = listOf<String>(
"dj1232",
"b12s11",
"k213i1",
"23d112"
)
// what I need
val result = listOf<User>(
User("Joe", "dj1232"),
User("Max", "b12s11"),
User("Tom", "k213i1"),
User("Sam", "23d112")
)
Run Code Online (Sandbox Code Playgroud)
更短的解决方案:
val result = unsorted.sortedBy { sorted.indexOf(it.id) }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |