欢迎访问yhm138的博客园博客, 你可以通过 [RSS] 的方式持续关注博客更新

MyAvatar

yhm138

HelloWorld!

Scala对字典排序,对对象排序,自定义排序

对字典排序

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
}
posted @ 2022-05-14 16:42  yhm138  阅读(110)  评论(0编辑  收藏  举报