Was ist der Unterschied zwischen Comparable und Comparator in Java?

Inhaltsverzeichnis:

Anonim

Die Hauptunterschied zwischen vergleichbar und vergleichend in Java ist das vergleichbar sortiert die Sammlung nach einem einzelnen Element, während vergleichend die Sammlung nach mehreren Elementen sortiert.

Java ist eine allgemeine Programmiersprache auf hoher Ebene, die beim Erstellen verschiedener Anwendungen wie Web-, Desktop-, Mobil- und leistungsstarken verteilten Systemen hilft. Ein großer Vorteil von Java ist außerdem, dass es die objektorientierte Programmierung (OOP) unterstützt. Das Paradigma ermöglicht das Erstellen von Klassen und Objekten. Klasse ist eine Blaupause, um Objekte zu erstellen. Darüber hinaus verfügt es über Datenmember zum Beschreiben der Eigenschaften und Methoden zum Bezeichnen des Verhaltens. Darüber hinaus bietet Java verschiedene Schnittstellen zum Sortieren von Objekten anhand der Datenelemente der Klasse. Vergleichbar und Vergleicher sind zwei davon.

Vergleichbar, Komparator, Schnittstelle, Java

Was ist in Java vergleichbar?

Die vergleichbare Schnittstelle hilft, ein Objekt mit einem anderen Objekt zu vergleichen. Die Klasse implementiert die Schnittstelle java.lang.Comparable, um ihre Instanzen zu vergleichen. Der erste Schritt besteht darin, das vergleichbare Interface mit der Klasse zu implementieren und dann die Methode CompareTo() des Comparable-Interface zu überschreiben.

Abbildung 1: Schülerklasse

Abbildung 2: Hauptprogramm für Comparable

Im obigen Programm ist Student eine Klasse, die die Comparable-Schnittstelle implementiert. Am wichtigsten ist, dass die Klasse Student drei Datenmember hat: id, name und marks. Der Konstruktor hilft dabei, den Datenmembern die Anfangswerte bereitzustellen. Darüber hinaus überschreibt diese Klasse die Methode CompareTo. An diese Methode wird das Student-Objekt übergeben. Somit gibt diese Methode je nach Vergleich 1, -1 oder 0 zurück.

Im Hauptprogramm ist „al“ ein Objekt von ArrayList. Programmierer können Student-Objekte in diese ArrayList einfügen. Die Methode sort sortiert die Elemente. Schließlich zeigt die „for-Schleife“ die Elemente auf der Konsole an.

Was ist Comparator Java?

Die Komparatorschnittstelle wird verwendet, um Elemente einer Liste mit verschiedenen Komparatoren zu sortieren. Ein Beispielprogramm ist wie folgt.

Abbildung 3: Namens- und Markierungskomparator

Abbildung 4: Hauptprogramm für Komparator

Im obigen Programm ist Student eine Klasse, die die Comparable-Schnittstelle implementiert. Darüber hinaus verfügt die Schülerklasse über drei Datenelemente: ID, Name und Markierungen. Der Konstruktor hilft dabei, den Datenmembern Anfangswerte bereitzustellen. Die MarkComparator-Klasse implementiert die Comparator-Schnittstelle. Somit überschreibt es die Vergleichsmethode, die zwei Student-Objekte akzeptiert. Entsprechend dem Vergleich gibt die Vergleichsmethode 1, -1 oder 0 zurück.

Ebenso gibt es eine andere Klasse namens AgeComparator, die die Comparator-Schnittstelle implementiert. Es überschreibt auch die Vergleichsmethode. Außerdem erhält diese Methode zwei Schülerobjekte. Darüber hinaus gibt die Vergleichsmethode die ganze Zahl gemäß dem Vergleich zurück.

Im Hauptprogramm ist „al“ ein Objekt von ArrayList. In diese ArrayList kann der Programmierer wie in Zeile 34, 35 und 36 Student-Objekte einfügen. Außerdem werden in Zeile 38 die Elemente nach dem Namen verglichen. Die „for-Schleife“ zeigt die Elemente auf dem Bildschirm an. In Zeile 43 werden die Elemente entsprechend der Note verglichen. Dann zeigt die nächste „for-Schleife“ die Elemente auf dem Bildschirm an.

Unterschied zwischen Comparable und Comparator in Java

Definition

Comparable ist eine Schnittstelle in Java, die verwendet wird, um die Objekte der benutzerdefinierten Klasse zu ordnen, die einzelne Sortierfolgen bereitstellt, während Comparator eine Schnittstelle in Java ist, die verwendet wird, um die Objekte einer benutzerdefinierten Klasse zu ordnen, die mehrere Sortierfolgen bereitstellt. Dies erklärt also den Hauptunterschied zwischen Comparable und Comparator in Java.

Elemente sortieren

Darüber hinaus bietet Comparable die Methode CompareTo() zum Sortieren von Elementen, während Comparator die Methode Compare() zum Sortieren von Elementen bereitstellt. Daher ist dies auch ein Unterschied zwischen Comparable und Comparator in Java.

Syntax zum Sortieren

Ein weiterer Unterschied zwischen Comparable und Comparator in Java besteht darin, dass die Syntax zum Sortieren in Comparable Collections.sort(List) ist, während die Syntax zum Sortieren in Comparator Collections.sort(List, Comparator) ist.

Abschluss

Kurz gesagt, Comparable und Comparator sind zwei Schnittstellen zum Sortieren von Objekten unter Verwendung der Datenelemente der Klasse. Der Hauptunterschied zwischen Comparable und Comparator in Java besteht darin, dass Comparable die Sammlung nach einem einzelnen Element sortiert, während Comparator die Sammlung nach mehreren Elementen sortiert.

Referenz:

1. „Java vergleichbar – Javatpoint.“ www.javatpoint.com, hier verfügbar.2. „Java-Komparator – Javatpoint.“ www.javatpoint.com, hier verfügbar.

Was ist der Unterschied zwischen Comparable und Comparator in Java?