欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java?將list集合數(shù)據(jù)按照時(shí)間字段排序的方法

 更新時(shí)間:2023年03月13日 10:07:58   作者:小目標(biāo)青年  
這篇文章主要介紹了Java?將list集合數(shù)據(jù)按照時(shí)間字段排序,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

示例:

    public  static List<Product> getProductTestList(){
        List<Product> productList=new ArrayList<>();
        productList.add(new Product().setName("兒童護(hù)具").setCreateDate("2023-02-01"));
        productList.add(new Product().setName("青年護(hù)具").setCreateDate("2023-01-01"));
        productList.add(new Product().setName("老人護(hù)具").setCreateDate("2023-01-02"));
        productList.add(new Product().setName("動(dòng)物護(hù)具").setCreateDate("2023-02-02"));
      return  productList;
    }

要求:

按照創(chuàng)建時(shí)間 createDate 字段排序 

方案①: 

使用list的sort方法

.sort(Comparator.comparing(Product::getCreateDate));

代碼示例:

    public  static List<Product> getProductTestList(){
        List<Product> productList=new ArrayList<>();
        productList.add(new Product().setName("兒童護(hù)具").setCreateDate("2023-02-01"));
        productList.add(new Product().setName("青年護(hù)具").setCreateDate("2023-01-01"));
        productList.add(new Product().setName("老人護(hù)具").setCreateDate("2023-01-02"));
        productList.add(new Product().setName("動(dòng)物護(hù)具").setCreateDate("2023-02-02"));
      return  productList;
    }
 
    public static void main(String[] args) {
        List<Product> productTestList = getProductTestList();
        productTestList.sort(Comparator.comparing(Product::getCreateDate));
        System.out.println(productTestList);
    }

效果:

如果需要倒序,則加上 reversed 在 .comparing(Product::getCreateDate) .reversed()

方案②:

使用 Collections的sort 

Collections.sort(productTestList, new Comparator<Product>() {}

 代碼示例:

    public static void main(String[] args) {
        List<Product> productTestList = getProductTestList();
 
        Collections.sort(productTestList, new Comparator<Product>() {
            @Override
            public int compare(Product o1, Product o2) {
                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
                try {
                    Date dt1 = format.parse(o1.getCreateDate());
                    Date dt2 = format.parse(o2.getCreateDate());
                    if (dt1.getTime() > dt2.getTime()) {
                        return 1;
                    } else {
                        return -1;
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return 0;
            }
        });
        System.out.println(productTestList);
    }

效果:

如果需要把順序反過來,則改變 1 和 -1 的返回值 :

效果: 

方案③:

使用stream的sorted

.stream().sorted(Comparator.comparing(Product::getCreateDate)

代碼示例:

    public  static List<Product> getProductTestList(){
        List<Product> productList=new ArrayList<>();
        productList.add(new Product().setName("兒童護(hù)具").setCreateDate("2023-02-01"));
        productList.add(new Product().setName("青年護(hù)具").setCreateDate("2023-01-01"));
        productList.add(new Product().setName("老人護(hù)具").setCreateDate("2023-01-02"));
        productList.add(new Product().setName("動(dòng)物護(hù)具").setCreateDate("2023-02-02"));
      return  productList;
    }
 
    public static void main(String[] args) {
 
        List<Product> productTestList2 = getProductTestList();
        List<Product> sortList = productTestList2.stream()
                .sorted(Comparator.comparing(Product::getCreateDate))
                .collect(Collectors.toList());
        System.out.println(sortList);
        
    }

效果:

如果需要倒序則:

在compring()后面加上 reversed()

到此這篇關(guān)于Java 將list集合數(shù)據(jù)按照時(shí)間字段排序的文章就介紹到這了,更多相關(guān)java list集合時(shí)間排序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解JVM的分代模型

    詳解JVM的分代模型

    這篇文章主要介紹了JVM的分代模型的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java虛擬機(jī)相關(guān)知識(shí),感興趣的朋友可以了解下
    2020-10-10
  • java利用SMB讀取遠(yuǎn)程文件的方法

    java利用SMB讀取遠(yuǎn)程文件的方法

    這篇文章主要為大家詳細(xì)介紹了java利用SMB讀取遠(yuǎn)程文件的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • SpringBoot多模塊打包部署Docker的項(xiàng)目實(shí)戰(zhàn)

    SpringBoot多模塊打包部署Docker的項(xiàng)目實(shí)戰(zhàn)

    本文通過介紹最常見的Maven管理的Spring Boot項(xiàng)目多模塊打包部署Docker來介紹一下項(xiàng)目部署過程中操作流程和幾個(gè)需要注意的點(diǎn),具有一定的參加價(jià)值,感興趣的可以了解一下
    2023-08-08
  • 基于Java向zip壓縮包追加文件

    基于Java向zip壓縮包追加文件

    這篇文章主要介紹了基于Java向zip壓縮包追加文件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • SpringBoot使用SOFA-Lookout監(jiān)控的方法

    SpringBoot使用SOFA-Lookout監(jiān)控的方法

    本文介紹SpringBoot使用螞蟻金服SOFA-Lookout配合Prometheus進(jìn)行監(jiān)控,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • Java實(shí)現(xiàn)Map集合二級(jí)聯(lián)動(dòng)示例

    Java實(shí)現(xiàn)Map集合二級(jí)聯(lián)動(dòng)示例

    Java實(shí)現(xiàn)Map集合二級(jí)聯(lián)動(dòng)示例,需要的朋友可以參考下
    2014-03-03
  • Java?this關(guān)鍵字的使用案例詳解

    Java?this關(guān)鍵字的使用案例詳解

    這篇文章主要為大家介紹了Java?this關(guān)鍵字的使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Java實(shí)現(xiàn)用位運(yùn)算維護(hù)狀態(tài)碼

    Java實(shí)現(xiàn)用位運(yùn)算維護(hù)狀態(tài)碼

    位運(yùn)算是一種非常高效的運(yùn)算方式,在算法考察中比較常見,那么業(yè)務(wù)代碼中我們?nèi)绾问褂梦贿\(yùn)算呢,感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下吧
    2024-03-03
  • Java實(shí)體類之間的相互轉(zhuǎn)換方式

    Java實(shí)體類之間的相互轉(zhuǎn)換方式

    這篇文章主要介紹了Java實(shí)體類之間的相互轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Java創(chuàng)建線程及配合使用Lambda方式

    Java創(chuàng)建線程及配合使用Lambda方式

    這篇文章主要介紹了Java創(chuàng)建線程及配合使用Lambda方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08

最新評(píng)論