我无法在kotlin中实现按特定模式(顺序)排序。假设我有一个字符串列表[黄,红,绿,蓝]。我想按特定的模式[红,绿,蓝,黄]对它们进行分类(请记住,列表有时是不同的[绿,蓝,黄]或[黄,红,蓝]。有没有一种方法可以很好地实现它?谨致问候。
u59ebvdq1#
如果我没听错的话,颜色的顺序必须和给定的图案一样。然后您可以从模式中删除不在输入列表中的元素。
val pattern = listOf("Red", "Green", "Blue", "Yellow") val input1 = listOf("Green", "Blue", "Yellow").toSet() val input2 = listOf("Yellow", "Red", "Blue").toSet() val sorted1 = pattern.filter { input1.contains(it) } val sorted2 = pattern.filter { input2.contains(it) } println(sorted1) // [Green, Blue, Yellow] println(sorted2) // [Red, Blue, Yellow]
如果您的输入可以包含重复的颜色,这将不起作用。
1条答案
按热度按时间u59ebvdq1#
如果我没听错的话,颜色的顺序必须和给定的图案一样。然后您可以从模式中删除不在输入列表中的元素。
如果您的输入可以包含重复的颜色,这将不起作用。