【问题标题】:How to sort future events in Array-List based on Date and time如何根据日期和时间对 Array-List 中的未来事件进行排序
【发布时间】:2018-08-29 10:21:39
【问题描述】:

我如何对以下列表进行排序?以便根据日期和时间对值进行排序,排序后的预期输出应如下所示

我自己尝试了很多,但没有得到结果,请有人帮助我

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

【问题讨论】:

标签: android datetime arraylist


【解决方案1】:

试试这个

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


    });

【讨论】:

    【解决方案2】:

    您是否考虑过将字符串解析为日期对象?

    dateString = "27-08-2018 15:20:12"
    SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
    Date date = dateFormat.parse(dateString);
    

    日期对象应该是可比较的,因此可以用

    排序
    Collections.sort(arrayOfDateObjects)
    

    或者使用自定义比较器,您可以根据自定义 compare() 方法中从字符串中解析的日期来定义对对象进行排序。

    【讨论】:

      猜你喜欢
      • 2020-08-04
      • 2017-06-02
      • 2019-03-17
      • 2014-03-11
      • 1970-01-01
      • 1970-01-01
      • 2012-02-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多