首頁  >  文章  >  Java  >  比較器介面

比較器介面

PHPz
PHPz原創
2024-07-16 16:47:12494瀏覽

Comparator 可用來比較未實作 Comparable 的類別的物件。您已經學習如何使用 Comparable 介面(本節)來比較元素。 Java API 中的幾個類,例如StringDateCalendarBigIntegerBigDecimalBigIntegerBigDecimal 基本🎜> 和基本🎜>BigDecimal 和基本🎜>類型的所有數位包裝類別都實作Comparable 介面。 Comparable 介面定義了

compareTo

方法,該方法用於比較實作 Comparable 介面的相同類別的兩個元素。 如果元素的類別沒有實作 Comparable 介面怎麼辦?這些要素可以比較嗎?您可以定義一個比較器來比較不同類別的元素。為此,請定義一個實作

java.util.Comparator

介面並重寫其

compare

方法的類別。 public int Compare(T element1, T element2) 如果element1 小於element2,則傳回負值;如果

element1

大於element2,則傳回正值,且為零如果它們相等。 GeometricObject 類別在抽象類別部分中介紹。 GeometricObject 類別未實作

Comparable

介面。要比較 Image descriptionGeometricObject

類別的對象,您可以定義一個比較器類,如下面的程式碼所示。

第 4 行實作了 Comparator。第 5 行重寫了 Compare 方法來比較兩個幾何物件。該類別也實現了可序列化。對於比較器來說,實作

Serialized

通常是一個好主意,因為它們可以用作可序列化資料結構中的排序方法。為了使資料結構成功序列化,比較器(如果提供)必須實現 Serialized.

下面的程式碼給出了一個傳回兩個幾何物件之間更大的物件的方法。使用 Image descriptionGeometricObjectComparator

.

比較對象 程式在第7-8 行建立了一個Rectangle 和一個Circle 物件(RectangleCircleRectangle

Circle 類別定義於抽象類部分)。它們都是GeometricObject的子類別。程式呼叫 max 方法來取得面積較大的幾何物件(第 10 行)。

建立

GeometricObjectComparator 並將其傳遞給max 方法(第10 行),此比較器在max 方法中使用來比較中的幾何對象第16 行。 Comparable

用於比較實作

Comparable 的類別的物件。 Comparator 可用來比較未實作 Comparable. 的類別的對象 使用Comparable

介面比較元素稱為使用自然順序比較,使用Comparator介面比較元素稱為使用比較器。

以上是比較器介面的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn