【发布时间】:2015-03-28 04:55:00
【问题描述】:
有一个scala代码的sn-p,我觉得很简单
val m1 = Map("age"->60,"name"->"x")
val m2 = Map("age"->99,"name"->"j")
val l = List(m1,m2)
val max = l.maxBy(_("age"))
但是,而不是预期的结果 val m2 = Map("年龄"->99,"姓名"->"j") 我收到一个错误:
<console>:13: error: No implicit Ordering defined for Any.
我知道隐式参数有问题,但我不知道如何解决这个问题。
更新 此外,假设我需要一个更通用的解决方案,一个函数
def max(l:List[Map[String,Any]],key:String)
那么 max(l,"age") == Map("age"->99,"name"->"j") max(l,"name") == Map("age"->60,"name"->"x")
【问题讨论】:
标签: scala