Я должен отсортировать коллекцию значений в зависимости от набора ключей, которые у меня есть в виде подсписков другого списка. В настоящее время у меня есть следующий код, который делает работу правильно. Однако он использует изменяемую коллекцию, и я знаю, что это не лучший способ сделать это в Scala. Каков был бы "1004 * способ" сделать это? Спасибо.
var sorted: IndexedSeq[IndexedSeq[Any]]
//sortKeys is a list of lists containing sorting properties (index,descending/ascending)
for (i <- (0 until sortKeys).reverse) {
val index = sortKeys(i).get(i).getIndex
val desc = sortKeys.get(i).descending
if (desc) {
sorted = sorted.sorted { (t1: IndexedSeq, t2: IndexedSeq) => -t1(index).asInstanceOf[Comparable[Any]].compareTo(t2(index)) }
} else {
sorted = sorted.sorted { (t1: IndexedSeq, t2: IndexedSeq) => t1(index).asInstanceOf[Comparable[Any]].compareTo(t2(index)) }
}
}