Java Kotlin与列表末尾的新项目关联

Java Kotlin与列表末尾的新项目关联,java,list,sorting,kotlin,Java,List,Sorting,Kotlin,我试图在kotlin中使用关联,根据另一个列表对一个列表进行排序。这是我的密码: val a=listOf(“G”、“F”、“E”、“D”、“C”、“B”、“a”) val b=列表中的(“A”、“G”、“C”) val order=b.withIndex().associate{it.value to it.index} println(a.sortedBy{order[it]}) 这是输出:[F,E,D,B,A,G,C] 请注意此代码如何将不属于b的项目放置在列表的开头。有没有一种简单的方

我试图在kotlin中使用
关联
,根据另一个列表对一个列表进行排序。这是我的密码:

val a=listOf(“G”、“F”、“E”、“D”、“C”、“B”、“a”)
val b=列表中的(“A”、“G”、“C”)
val order=b.withIndex().associate{it.value to it.index}
println(a.sortedBy{order[it]})
这是输出:
[F,E,D,B,A,G,C]

请注意此代码如何将不属于
b
的项目放置在列表的开头。有没有一种简单的方法可以将新项目放在列表的末尾。因此,输出结果将是这样的:
[a,G,C,F,E,D,B]
如果
排序[it]
在字典中找不到值,它将返回
null
,排序方式比任何整数都少。您可以使用可选的
?:
运算符提供您选择的值。如果希望它显示在末尾,可以使用
Int.MAX\u VALUE
返回可能的最大整数

>>> println(a.sortedBy { order[it] ?: Int.MAX_VALUE })
[A, G, C, F, E, D, B]