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
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM