以“标量方式”基于另一个集合排序值的集合]]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以“标量方式”基于另一个集合排序值的集合]]相关的知识,希望对你有一定的参考价值。
我必须根据一组可以用作另一个列表的子列表的键来对值的集合进行排序。目前,我有以下代码可以正常工作。但是,它使用可变的集合,我知道这不是在Scala中做到这一点的最佳方法。这样做的漂亮的“斯卡拉方式”是什么?谢谢。
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)) }
}
}
我必须根据一组可以用作另一个列表的子列表的键来对值的集合进行排序。目前,我有以下代码可以正常工作。但是,它使用...
答案
草图:
以上是关于以“标量方式”基于另一个集合排序值的集合]]的主要内容,如果未能解决你的问题,请参考以下文章