如何在 Scala 中的数组列表中合并元素



我有一个数组列表,其中有些数组是相同的,但一列是不一样的,它是"创建时间",现在我想要其中一个具有更大的"创建时间">

我的清单:

List(
  ("hello", " marry", "01/31/2015 17:58:18"),
  ("hello", " marry", "01/31/2015 18:58:18"),
  ("Thanks", "jay", "02/02/2015 20:27:28")
)

预期成果:

List(
  ("hello", " marry", "01/31/2015 18:58:18"),
  ("Thanks", "jay", "02/02/2015 20:27:28")
)

请任何人给我建议。提前致谢

你说你有一个"数组列表",但你的数据示例是一个元组列表。此解决方案假定数据以元组形式存在。

val ts = List(("hello", " marry", "01/31/2015 17:58:18")
            , ("hello", " marry", "01/31/2015 18:58:18")
            , ("Thanks", "jay", "02/02/2015 20:27:28"))
ts.groupBy(x => (x._1,x._2)).mapValues(_.maxBy(_._3)).values.toList

这也假定结果的顺序并不重要,只要选择了正确的元素即可。

还值得注意的是:由于这些日期字符串的年份位于错误的位置,因此简单的字符串比较将无法识别"12/31/2015""01/01/2016"之前

最新更新