scala HashMap排序

由于刚接触scala语言,所以对scala排序不是很了解,WorkerInfo是一个类,包括很多属性,我现在需要根据里面的一个cpuUsage这个字段排序,cpuUsage是double类型,对idToWorker 进行排序,希望有知道的朋友可以告诉我,谢谢~
val idToWorker = new HashMap[String, WorkerInfo]

本人找到一个类似的,但是不是很清楚sortby以及里面的case用法,所以不知道怎么与我的WorkerInfo中的double那个字段联系,因为对scala语法不是很熟悉~
图片描述

阅读 6.8k
1 个回答
    case class WorkerInfo(id: String, cpuUsage: Double)

    object SortObj extends App {
  
  var sortHash = new HashMap[String, WorkerInfo]
  
  sortHash+= ("1" -> WorkerInfo("a", 0.4), 
      "2" -> WorkerInfo("b", 0.2), 
      "3" -> WorkerInfo("c", 0.3))
      
  sortHash.toList.sortBy(_._2.cpuUsage) foreach {
    case (key, value) => println(key + "==" + value)
  }
  
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进