我有一个数组列表,其中有些数组是相同的,但一列是不一样的,它是"创建时间",现在我想要其中一个具有更大的"创建时间">
我的清单:
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"
之前。