亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了Java使用具有多個排序條件的可比對象進行排序的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習吧!

問題描述

我最近開始學(xué)習Java。我看的是可比性和可比性。我讀到的不同之處之一是”當你有一個分類標準時,使用可比較的接口,而對于多個使用比較器”。
但對于可比性,我也可以使用多種分類標準,如下所示:

class Employee implements Comparable<Employee>{
    public int empID;
    public int empStartDate;

    public int compareTo(Employee empObj){
        int result = this.empID - empObj.empID;
        if(result == 0){
            result = this.empStartDate - empObj.empStartDate;
        }
        return result;
    }
}

我理解他們還有其他不同之處。但我有點糾結(jié)于這個區(qū)別(單一和多個分類標準)。
如果我說錯了,請糾正我。如果我們可以使用上述方法,為什么推薦單一分類標準使用可比性?有人能舉個例子給我解釋一下嗎?謝謝!

推薦答案

如果我們可以使用上述方法,為什么建議使用Comparable單一排序條件?

對此沒有普遍接受的建議。

無論您在哪里閱讀,都是錯誤的。


ComparablevsComparator根本不是比較一個或多個值的問題。

一個對象最多可以有一個自然順序。如果是,則使用Comparable實現(xiàn)該自然順序。它實際上是用Comparable

的javadoc編寫的

此接口對實現(xiàn)它的每個類的對象強制進行總排序。這種排序稱為類的自然排序,類的compareTo方法稱為其自然比較方法

無論對象是否具有自然順序,(備選)排序都可以使用Comparator實現(xiàn)。

兩者都與正在進行的比較的復(fù)雜性無關(guān)。


無關(guān):

請勿使用整數(shù)減法計算compare/compareTo結(jié)果,因為如果兩個值大于MAX_VALUE(數(shù)值溢出),則計算將失敗。

在比較int值(從Java 7開始提供)時,始終使用Integer.compare(x, y)Long.compare?(x, y)相同。

這篇關(guān)于Java使用具有多個排序條件的可比對象進行排序的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:Java 可比 多個 對象 排序 條件
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定