list中的实体类根据时间进行排序

查询出来多个list集合,汇总起来后需要对时间进行排序。

SubscriptionResult是汇总之后的实体类。

如果只需要比较天的话可以修改SimpleDateFormat的格式化。

 list.sort(new Comparator<SubscriptionResult>() {
            @Override
            public int compare(SubscriptionResult o1, SubscriptionResult o2) {
                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                //获取体检日期,并把其类型由String转成Date,便于比较。
                Date dt1 = null;
                Date dt2 = null;
                try {
                    dt1 = format.parse(o1.getTime());
                    dt2 = format.parse(o2.getTime());
                } catch (ParseException e) {
                    e.printStackTrace();
                }

                //以下代码决定按日期降序排序,若将return“-1”与“1”互换,即可实现升序。
                //getTime 方法返回一个整数值,这个整数代表了从 1970 年 1 月 1 日开始计算到 Date 对象中的时间之间的毫秒数。
                if (dt1.getTime() > dt2.getTime()) {
                    return -1;
                } else if (dt1.getTime() < dt2.getTime()) {
                    return 1;
                } else {
                    return 0;
                }
            }
        });