給定三個不同的相同長度的列表,我想使用它們中的一個的排序來排序它們中的所有三個。例如,對於給定的三個列表:使用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