最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java如何自定義List中的sort()排序,用于日期排序

 更新時間:2021年11月08日 11:19:24   作者:精打細算  
這篇文章主要介紹了java如何自定義List中的sort()排序,用于日期排序,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

java 自定義List中的sort()排序

1、問題描述

List是java中一個有序可重復的的集合,其中自帶的.sort()排序方法,該方法在針對純數(shù)字類型List集合排序的時候很有效。但是對于裝入其他類型的List集合,自帶的sort()方法排序我們很難控制,比如一個日期集合的排序。

2、解決方法

java中List允許我們自定義sort()排序方法,以下自定義了List集合的sort排序方法,用于對一個字符串類型的日期集合進行排序。

//待排序的集合
List<String> list=new ArrayList<String>();
list.add("2019-06");
list.add("2019-11");
list.add("2019-02");
list.add("2019-09");
list.add("2019-05");
//自定義list排序,集合數(shù)據(jù)(月份)按升序排序;
final SimpleDateFormat sdft = new SimpleDateFormat("yyyy-MM");
Collections.sort(list, new Comparator<String>(){
    @Override
 public int compare(String month1, String month2) {
  int mark = 1;
  try {
      Date date1 = sdft.parse(month1);
      Date date2 = sdft.parse(month2);
      if(date1.getTime() < date2.getTime()){
       mark = -1;//調整順序,-1為不需要調整順序;
      }
      if(month1.equals(month2)){
       mark =  0;
  }
  } catch (ParseException e) {
   LOG.error("日期轉換異常", e);
   e.printStackTrace();
  }
 return mark;
 } //compare
});

3、其他

另外java兩個日期類型的對象也可以用如下方法進行比較。

Date() date1=new Date();
Date() date2=new SimpleDateFormat("yyyy-MM-dd").parse("2019-06-11");
Boolean flag;
if(date1.before(date2)){
 flag=true;
}

a.before(b);該方法是判斷a日期是否小于b日期,返回的是一個布爾類型結果。

java Collections類:sort()升序排序

正向排序

使用 Collections 類的靜態(tài)方法 sort() 可以對集合中的元素進行升序排序。這要求列表中的所有元素都必須實現(xiàn) Comparable 接口,而且所有元素都必須是使用指定比較器可相互比較的。

sort() 方法主要有如下兩種重載形式

  • void sort(List list):根據(jù)元素的自然順序對集合中的元素進行升序排序。
  • void sort(List list,Comparator comparator):按 comparator 參數(shù)指定的排序方式對集合中的元素進行排序。
public  class  Test{
    public static void main(String[] args) {
        Student Student =new Student("張1","6M");
        Student Student1 =new Student("張2","1M");
        Student Student2 =new Student("張4","5M");
        Student Student3 =new Student("張5","1M");
        List<Student> list=new ArrayList<Student>();
        list.add(Student);
        list.add(Student1);
        list.add(Student2);
        list.add(Student3);
        Collections.sort(list, new Comparator<Student>() {
            @Override
            public int compare(Student o1, Student o2) {
                return  o2.getAge().compareTo(o1.getAge());
            }
        });
        System.out.println(list.toString());
    } 
}

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • JAVA入門教學之快速搭建基本的springboot(從spring boot到spring cloud)

    JAVA入門教學之快速搭建基本的springboot(從spring boot到spring cloud)

    本文主要入門者介紹怎么搭建一個基礎的springboot環(huán)境,本文通過圖文并茂的形式給大家介紹從spring boot到spring cloud的完美搭建過程,適用java入門教學,需要的朋友可以參考下
    2021-02-02
  • 幾種SpringBoot的屬性配置方式詳解

    幾種SpringBoot的屬性配置方式詳解

    通常項目配置信息都寫在.properties或者.yml文件中,但是打成jar包部署后,如果需要修改配置信息,還需要改完再重新打包部署,因此,下面介紹幾種SpringBoot的屬性配置方式,需要的朋友可以參考下
    2024-12-12
  • 解決Spring AOP 同類調用失效問題

    解決Spring AOP 同類調用失效問題

    這篇文章主要介紹了解決Spring AOP 同類調用失效問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java異常處理中的各種細節(jié)匯總

    Java異常處理中的各種細節(jié)匯總

    這篇文章主要給大家介紹了關于Java異常處理中的各種細節(jié)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-01-01
  • Java日志框架打印應用程序日志代碼的執(zhí)行情況分析

    Java日志框架打印應用程序日志代碼的執(zhí)行情況分析

    在配置INFO日志級別時,日志器(logger)中debug級的日志代碼仍會被執(zhí)行,只是是否輸出取決于配置的日志級別,本文基于Java 1.8、SLF4J 1.7.25和Log4j 2.20.0進行實驗,詳述了日志框架處理日志代碼的機制,感興趣的朋友一起看看吧
    2024-10-10
  • java jdbc連接和使用詳細介紹

    java jdbc連接和使用詳細介紹

    這篇文章主要介紹了 java jdbc連接和使用詳細介紹的相關資料,需要的朋友可以參考下
    2016-12-12
  • SpringBoot創(chuàng)建自定義starter詳解

    SpringBoot創(chuàng)建自定義starter詳解

    這篇文章主要介紹了SpringBoot創(chuàng)建自定義starter詳解,Starter是Spring Boot中的一個非常重要的概念,Starter相當于模塊,它能將模塊所需的依賴整合起來并對模塊內的Bean根據(jù)環(huán)境(條件)進行自動配置,需要的朋友可以參考下
    2024-01-01
  • 5個Java API使用技巧

    5個Java API使用技巧

    這篇文章主要為大家詳細介紹了Java API安全和性能方面的簡單易用技巧,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 深入淺析JSON在java中的使用

    深入淺析JSON在java中的使用

    這篇文章主要介紹了JSON在java中的使用,包括javaBean和json的互轉,List 和 json 的互轉及map 和 json 的互轉,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-04-04
  • java從mysql導出數(shù)據(jù)的具體實例

    java從mysql導出數(shù)據(jù)的具體實例

    這篇文章主要介紹了java從mysql導出數(shù)據(jù)的具體實例,有需要的朋友可以參考一下
    2013-12-12

最新評論

高台县| 乐清市| 瑞金市| 屏东县| 获嘉县| 湖口县| 普兰店市| 资阳市| 永福县| 岱山县| 通渭县| 砚山县| 土默特右旗| 三台县| 武城县| 乌鲁木齐县| 惠东县| 郴州市| 临安市| 砚山县| 红桥区| 龙江县| 皮山县| 利津县| 岳阳市| 罗平县| 定兴县| 色达县| 汶上县| 磴口县| 宜君县| 军事| 兴山县| 闸北区| 丹江口市| 眉山市| 福安市| 阳山县| 紫云| 商水县| 句容市|