我有一个具有相同 ID 的对象列表,然后,我想保留最近日期的一个,并使用 kotlin 集合运算符删除另一个。例如我有:
{"id":111,
"date":"02/12/2017"
}
还有一个
{"id":111,
"date":"02/8/2018"}
在这种情况下,我想删除第一个对象。
最佳答案
你可以这样实现
list.groupBy { it.id }.entries.map { it.value.maxBy { it.date } }
它将创建 id, List<object>
的 map 同时保持原来的顺序,然后从列表中选择最新的对象。
这里我假设日期是 long
值时间戳
关于kotlin - 我如何使用集合运算符在 Kotlin 中按日期删除对象列表中的重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52270782/