我有一个数组列表,其中一些元素是相同的但是一列不相同而且它是“创建时间”,现在我想要其中一个具有更大“创建时间”
我的清单:
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")
)
请有人向我提出建议。提前致谢
答案 0 :(得分:3)
你说你有一个“数组列表”,但你的数据示例是一个元组列表。此解决方案假定数据位于元组中。
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"
之前的 { {1}}。