给定三个不同的相同长度的列表,我想使用它们中的一个的排序来排序它们中的所有三个。例如,对于给定的三个列表:使用Scala中的其中一个的排序对三个列表排序
val a = Seq(2, 1, 3)
val b = Seq("Hi", "there", "world")
val c = Seq(1.0, 2.0, 3.0)
...并假设我们排序从a
订购,我想要的结果看起来是这样的:从Sorting
aSorted: Seq[Int] = List(1, 2, 3) // Sorted by its own order
bSorted: Seq[String] = List("there", "Hi", "world") // Reordered the same way as aSorted
cSorted: Seq[Double] = List(2.0, 1.0, 3.0) // Reordered the same way as aSorted
所有功能似乎在序列上工作,没有任何方式指定swap
操作。那么,我必须诉诸写我自己的代码进行排序吗?或者我应该实现一些自定义序列类型?如果是这样,怎么样?
如果三个列表之间仍然存在一对一的对应关系,那么您可能需要将重新建模视为一个案例类实例列表? – 2015-04-06 08:45:50