首页 > 解决方案 > 如何根据日期和时间对 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());
                    }
                });
            }

标签: androiddatetimearraylist

解决方案


尝试这个

 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());
        }


    });

推荐阅读