2016-09-27 24 views
-3

如何最小化使用java的比較器方法8 實際上,我通過包含工作日的工作日列表,其中包含我需要按日期升序和降序排列日期的工作日清單 我需要日期按升序如何最小化使用java的比較器方法8

private List<WorkingDays> workingDaysDateSortDesc(List<WorkingDays> workingDays) { 
    Collections.sort(workingDays.get(0).getDays(), new Comparator<Days>() { 
     @Override 
     public int compare(Days o1, Days o2) { 
      if (o1.getDate().get$date() == null || o2.getDate().get$date() == null) 
       return 0; 
      return o2.getDate().get$date().compareTo(o1.getDate().get$date()); 
     } 
    }); 
    return workingDays; 
} 
+0

請使用**流API **,它會給你的優勢,使代碼更清潔,更具有可讀性。 –

+0

目前還不清楚你想要關於null值的結果。你可以發佈樣本輸入/輸出嗎?無論如何,儘量減少你的意思是什麼? – Tunaki

+0

@Tunaki我需要約會的順序。 –

回答

0

只需使用拉姆達:

private List<WorkingDays> workingDaysDateSortDesc(List<WorkingDays> workingDays) { 
    Collections.sort(workingDays.get(0).getDays(), (Comparator<Days>) (o1, o2) -> { 
     if (o1.getDate().get$date() == null || o2.getDate().get$date() == null) 
      return 0; 
     return o2.getDate().get$date().compareTo(o1.getDate().get$date()); 
    }); 
    return workingDays; 
}