我已经尝试过像这样的方法“ sortBy
”:
ranks.sortBy(x=> x._2, false);
但是,等级值未排序,细节显示在图片中。 my failed solutions
那么我应该如何纠正我的解决方案?为什么会失败? 感谢您的帮助!
答案 0 :(得分:2)
在您的情况下,我假设ranks
是var
。
调用ranks.sortBy...
时,并没有将其分配给任何变量-您只是在要求编译器对内容进行sortBy并丢弃结果。
您只需要将此变量分配给变量即可使用(ranks = ranks.sortBy(...)
或val something = ranks.sortBy(...)
)。这是REPL中的一个简单示例:
scala> var l = List(3, 1, 2)
l: List[Int] = List(3, 1, 2)
scala> l.sortBy(x => x)
res1: List[Int] = List(1, 2, 3)
scala> l // will be the same as before
res2: List[Int] = List(3, 1, 2)
scala> l = l.sortBy(x => x)
l: List[Int] = List(1, 2, 3)
scala> l // will have changed
res3: List[Int] = List(1, 2, 3)