如何使列表中的元素符合给定条件?

Fet*_*bgs 1 sorting list kotlin

给定一个列表和一个条件,如何使与该条件匹配的所有元素成为列表中的第一个元素?

例如,

列表:

(10、100、12、12、14、12、1002)

假设元素为 12,列表现在应该是

(12、12、12、10、100、14、1002)

这是一个昂贵的功能吗?

我尝试过使用 Kotlins 内置的排序功能,但它不会对给定的特定值进行排序。

luk*_*s.j 6

一个列表可以根据给定的条件分成两个列表对:

val list = listOf(10, 100, 12, 12, 14, 12, 1002)

val result = list.partition { it == 12 }.toList().flatten()

println(result)   // Output: [12, 12, 12, 10, 100, 14, 1002]
Run Code Online (Sandbox Code Playgroud)

请参阅过滤集合:分区