Java使用Comparator來進行List排序


1.定義實體類,找到想比較的屬性(比如文件實體類按時間來排序)

public class FileInfo implements Serializable {
    private static final long serialVersionUID = 7093059183697304057L;
    private String fileName;
    private String filePath; // 路徑
    private double fileSize; // 文件大小 
    private long fileLastTime; // 最近修改時間  
        //省略構(gòu)造方法 和get set 方法
}

2.定義比較類

public class ContentComparator implements Comparator<FileInfo> {
    /**
     * 返回負數(shù)表示參數(shù)1 小于參數(shù)2
     */
    @Override
    public int compare(FileInfo lhs, FileInfo rhs) {
        long key1 = lhs.getFileLastTime(); //需要比較的屬性
        long key2 = rhs.getFileLastTime();
        // 如果key1大返回1 否則(如果key1小于key2 返回-1 否則返回0)
        return key1 > key2 ? 1 : key1 < key2 ? -1 : 0;
    }
}

3.調(diào)用

//docList 為 泛型為FileInfo的List。
Collections.sort(docList, new ContentComparator());
//如果需要倒序
Collections.reverse(docList);

歡迎小伙伴們留言交流喲

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,228評論 25 708
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,754評論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,659評論 19 139
  • 由于最近要換工作,發(fā)現(xiàn)現(xiàn)在用人單位很多都需要有TCP/IP方面的知識,但是最近幾年的工作中基本上都只用到HTTP協(xié)...
    hahaJava閱讀 435評論 0 0
  • 愛人,你是否還記得,我們的牽手,是多么的不容易。世俗的目光,家長的反對······,最終,我們克服了所...
    榮兒姐閱讀 356評論 6 10

友情鏈接更多精彩內(nèi)容