zoukankan      html  css  js  c++  java
  • List集合, 时间正序排列、倒序排序

    1. List集合, 时间正序排列、倒序排序
    import com.alibaba.fastjson.JSON;
    import com.example.demo.Demo.dto.Student;
    import com.example.demo.Demo.util.Order;
    
    import java.util.*;
    
    @Order(2)
    public class Test {
        public static void main(String[] args) {
    
            //MySQL识别的日期格式
            String str01 = "2021-06-26T12:11:52.000+0000";
            String str02 = "2021-06-25T12:08:41.000+0000";
            String str03 = "2021-06-27T12:18:22.000+0000";
    
    
            Student student01 = new Student(1, "张三", dealDateFormat(str01));
            Student student02 = new Student(2, "李四", dealDateFormat(str02));
            Student student03 = new Student(3, "王五", dealDateFormat(str03));
    
    
            List<Student> arrayList = new ArrayList<>();
            Collections.addAll(arrayList, student01, student02, student03);
    
    
            //TODO:正序排列[最小的时间在前]
            //输出: [{"date":"2021-06-25 12:08:41","name":"李四","id":2},{"date":"2021-06-26 12:11:52","name":"张三","id":1},{"date":"2021-06-27 12:18:22","name":"王五","id":3}]
            Collections.sort(arrayList, Comparator.comparing(Student::getDate));
            System.out.println(JSON.toJSON(arrayList));
    
    
            //TODO:倒序排序[最大的在前]
            //输出: [{"date":"2021-06-27 12:18:22","name":"王五","id":3},{"date":"2021-06-26 12:11:52","name":"张三","id":1},{"date":"2021-06-25 12:08:41","name":"李四","id":2}]
            Collections.sort(arrayList, new CalendarComparator());
            System.out.println(JSON.toJSON(arrayList));
        }
    
        // 时间倒序排序
        private static class CalendarComparator implements Comparator {
            public int compare(Object object1, Object object2) {// 实现接口中的方法
                Student p1 = (Student) object1; // 强制转换
                Student p2 = (Student) object2;
                return p2.getDate().compareTo(p1.getDate());
            }
        }
    
        // dealDateFormat方法参考另一篇博客: https://www.cnblogs.com/Twittery/p/14943656.html
    }
    
  • 相关阅读:
    Windows_10 系统封装
    leetcode-75 颜色分类
    leetcode-922 按奇偶排序数组 II
    leetcode-905 按奇偶数排序
    UVA-10827 环面上的最大子矩阵和
    leetcode918 环形最大子数组
    leetcode-85 最大矩形
    leetcode-84 柱状图中的最大矩形
    leetcode-221 最大正方形
    leetcode-713 乘积小于k的数组
  • 原文地址:https://www.cnblogs.com/Twittery/p/14943676.html
Copyright © 2011-2022 走看看