对字典排序

import scala.collection.mutable._

var grades=Map("Kim"->90,"EMily"->91);
var tmp1=grades.toSeq.sortBy(_._2)
var res=ListMap(tmp1:_*);

List[String,Int] 排序

val a = List(("a",2),("b",44),("c",20),("a",20),("a",1))
a.sortBy(x=>(x._2,x._1))

对对象排序

object _02Simple {
  def main(args: Array[String]): Unit = {
    val firstEmp: Emp = Emp(1, "michael", 10000.00)
    val secondEmp: Emp = Emp(2, "james", 18000.00)
    val thirdEmp = Emp(3, "shaun", 12000.00)
    val empList = List(firstEmp, secondEmp, thirdEmp)
    empList.sortBy(p => p.salary)(Ordering[Double]).foreach(println)
  }
}

case class Emp(id: Int, name: String, salary: Double) {}

sortWith中传入【返回值为布尔型的函数】

List("Here", "are", "some", "sample", "strings", "to", "be", "sorted").sortWith{(a,b) => 
  val cmp=a.size-b.size
  (if (cmp==0) -a.compareTo(b) else cmp) > 0
}