java 自定義排序【Comparator升序降序的記法】


需求
今天在寫排序時,忘了是返回1,是正序,還是-1為正序。
或者說,正序或者降序我應該如何返回。

例子說明

Collections.sort(companyList, new Comparator<String>() {
                @Override
                public int compare(String o1, String o2) {
                    if(o1.compareTo(o2) < 0 ){
                        return -1;
                    }else if(o1.compareTo(o2) == 0){
                        return 0;
                    }else{
                        return 1;
                    }
                }
            });

 

說明:

我的記法:

順序其實主要是看-1,-1決定其是否要調整順序:

if(o1.compareTo(o2) < 0 ){
    return ?;
}
//這里o1表示位於前面的字符,o2表示后面的字符
//上面的條件是,o1比o2小,這個時候,我們需要需要調整它們的順序
//如果你想升序,那么o1比o2小就是我想要的;所以返回-1,類比成false;表示我不想調整順序

//如果你想降序,那么o1比o2小不是我想要的;所以返回1,類比成true;表示我想調整順序


這里o1表示位於前面的字符,o2表示后面的字符
上面的條件是,o1比o2小,這個時候,我們需不需要調整它們的順序:

如果你想升序,那么o1比o2小就是我想要的;所以返回-1,類比成false;表示我不想調整順序
如果你想降序,那么o1比o2小不是我想要的;所以返回1,類比成true;表示我想調整順序



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM