我正在尝试对一组对象进行排序.当我尝试使用sortWith函数只对对象中的一个字段进行排序时,它的工作完全正常.当多个字段被排序时,它就会混乱.
例如.
scala> val res = branches.collect.toList
res: Array[(String, String, String)] = Array((109,A,Australia), (101,A,Australia), (102,A,Myanmar), (103,B,Australia), (104,A,Europe), (105,B,US), (106,B,Myanmar), (107,C,Australia), (108,A,Canada))
scala> val a = res.sortWith((x,y) => (x._2 < y._2 && x._1 > y._1))
Run Code Online (Sandbox Code Playgroud)
基本上我试图排序第二元组,并根据结果我正在排序第一元组.我得到以下结果,但没有正确排序.我知道sortBy函数也可以实现同样的功能.但我想了解sortWith是如何工作的.
scala> val a = res.sortWith((x,y) => (x._2 < y._2 && x._1 > y._1))
a: Array[(String, String, String)] = Array((109,A,Australia), (107,C,Australia), (101,A,Australia), (102,A,Myanmar), (104,A,Europe), (108,A,Canada), (103,B,Australia), (105,B,US), (106,B,Myanmar))
Run Code Online (Sandbox Code Playgroud)