中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-11-08 12:46:30 來源:億速云 閱讀:497 作者:柒染 欄目:開發技術

本篇文章給大家分享的是有關java如何自定義List中的sort()排序且用于日期排序,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

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

1、問題描述

List是java中一個有序可重復的的集合,其中自帶的.sort()排序方法,該方法在針對純數字類型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排序,集合數據(月份)按升序排序;
final SimpleDateFormat sdft = new SimpleDateFormat("yyyy-MM");
Collections.sort(list, new Comparator<String>(){
    @Override
 public int compare(String month2, String month3) {
  int mark = 1;
  try {
      Date date1 = sdft.parse(month2);
      Date date2 = sdft.parse(month3);
      if(date1.getTime() < date2.getTime()){
       mark = -1;//調整順序,-1為不需要調整順序;
      }
      if(month2.equals(month3)){
       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 類的靜態方法 sort() 可以對集合中的元素進行升序排序。這要求列表中的所有元素都必須實現 Comparable 接口,而且所有元素都必須是使用指定比較器可相互比較的。

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

  • void sort(List list):根據元素的自然順序對集合中的元素進行升序排序。

  • void sort(List list,Comparator comparator):按 comparator 參數指定的排序方式對集合中的元素進行排序。

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());
    } 
}

以上就是java如何自定義List中的sort()排序且用于日期排序,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桐乡市| 南和县| 侯马市| 富民县| 武鸣县| 泰和县| 石棉县| 张家港市| 巴塘县| 社旗县| 和硕县| 闸北区| 龙海市| 达孜县| 康平县| 溧阳市| 武汉市| 甘孜| 宁武县| 兴业县| 龙里县| 宣威市| 汕头市| 会理县| 广德县| 秦皇岛市| 滨海县| 无极县| 潼关县| 库尔勒市| 永登县| 澜沧| 定安县| 绥化市| 涿州市| 襄城县| 凌海市| 勐海县| 上栗县| 固始县| 凤山县|