我有一组地图和地图,我想在地图数组中找到最大日期,我想我正在沿着非 scala 路径前进,因为我不确定如何连接这个问题的各个部分一起。
有没有更好的方法来做到这一点?我担心我需要假设诸如将值转换为 Date 进行比较之类的事情,但这就是 Map 中的内容,并且地图还包括其他数据类型(所以 Map[String, Object] 是我所拥有的)
val df = new SimpleDateFormat("yyyy-MM-dd")
def omap = List(Map("date" -> df.parse("2013-08-01")), Map("date" -> df.parse("2013-02-01"), "otherkey" -> "nothing special"), Map("date" -> df.parse("2013-01-01")))
omap.max(new Ordering[Map[String, Object]] {
def compare(x: Map[String, Object], y: Map[String, Object]) = x.get("date").get.asInstanceOf[Date] compareTo y.get("date").get.asInstanceOf[Date]
})
代码似乎有效,但我觉得我错过了一种更像 scala 的方式。