android - 如何根据日期和时间对 Array-List 中的未来事件进行排序
问题描述
我如何对以下列表进行排序?以便根据日期和时间对值进行排序,排序后的预期输出应如下所示
我自己尝试了很多,但没有得到结果,有人可以帮助我吗
27-08-2018 15:20:12
27-08-2018 12:20:10
26-08-2018 10:20:20
我的代码:-
EventObject eventObject1 = new EventObject;
eventObject1.setDateAndTime("27-08-2018 15:20:12")
eventObject1.name("name1")
EventArrayList.add(eventObject1)
EventObject eventObject2 = new EventObject;
eventObject2.setDateAndTime("27-08-2018 12:20:10")
eventObject2.name("name2")
EventArrayList.add(eventObject2)
EventObject eventObject3 = new EventObject;
eventObject3.setDateAndTime("26-08-2018 10:20:20")
eventObject3.name("name2")
EventArrayList.add(eventObject3)
if (EventArrayList.size() > 0) {
Collections.sort(EventArrayList, new Comparator<AuditListChildObject>() {
@Override
public int compare(final EventObject object1, final EventObject object2) {
return object1.getDateAndTime().compareTo(object2.getDateAndTime());
}
});
}
解决方案
尝试这个
Collections.sort(EventArrayList, new Comparator<EventObject>() {
@Override
public int compare(EventObject o1, EventObject o2) {
if (o2.getDateAndTime() == null || o1.getDateAndTime() == null)
return 0;
return o2.getDateAndTime().compareTo(o1.getDateAndTime());
}
});
推荐阅读
- c# - 如何根据实体框架中的下拉列表选定项填充表单字段以进行更新?
- reactjs - 除非 notifyOnNetworkStatusChange 设置为 true,否则 react-apollo 重新获取不起作用?
- c# - 无法保存使用 ASP.NET C# Web 窗体接收的 Razorpay Webhook 数据
- python - 如何处理由逗号组成的数据集?
- traefik - 保存到 consul KV 时如何从 Traefik acme 存储中删除证书
- javascript - 如何在 elasticsearch 客户端搜索功能中仅获取“_source”字段?
- netsuite - 套件上的 Netsuite USAGE_LIMIT_EXCEEDED 错误
- mysql - 有没有办法按与其子记录关联的最早日期对父记录进行排序?
- laravel - 黄昏无法资产查看自己的示例测试
- ruby-on-rails - 检测文件类型并调整图像大小