Comparable und Comparator sind beide Schnittstellen und können zum Sortieren von Sammlungselementen verwendet werden.
Es gibt jedoch viele Unterschiede zwischen Comparable- und Comparator-Schnittstellen, die unten angegeben sind.
Vergleichbar | Komparator |
---|---|
1) Vergleichbar bietet eine einzelne Sortierreihenfolge . Mit anderen Worten, wir können die Sammlung auf der Grundlage eines einzelnen Elements wie ID, Name und Preis sortieren. | Der Comparator bietet mehrere Sortierfolgen . Mit anderen Worten, wir können die Sammlung auf der Grundlage mehrerer Elemente wie ID, Name und Preis usw. sortieren. |
2) Vergleichbar wirkt sich auf die ursprüngliche Klasse aus, dh die aktuelle Klasse wird modifiziert. | Comparator wirkt sich nicht auf die ursprüngliche Klasse aus, dh die tatsächliche Klasse wird nicht geändert. |
3) Comparable bietet die Methode CompareTo() zum Sortieren von Elementen. | Comparator bietet die Methode Compare() zum Sortieren von Elementen. |
4) Vergleichbar ist im java.lang -Paket vorhanden. | Ein Comparator ist im Paket java.util vorhanden . |
5) Wir können die Listenelemente des Typs Comparable nach der Methode Collections.sort(List) sortieren. | Wir können die Listenelemente vom Typ Comparator nach der Methode Collections.sort(List, Comparator) sortieren. |
Sehen wir uns das Beispiel einer vergleichbaren Schnittstelle an, die die Listenelemente nach Alter sortiert.
Ausgabe:
105 Jai 21 101 Vijay 23 106 Ajai 27
Sehen wir uns ein Beispiel der Java Comparator-Schnittstelle an, in der wir die Elemente einer Liste mit verschiedenen Komparatoren sortieren.Student.java
NameComparator.java
Diese Klasse stellt eine auf dem Namen basierende Vergleichslogik bereit. In diesem Fall verwenden wir die Methode CompareTo() der Klasse String, die intern die Vergleichslogik bereitstellt.
TestComparator.java
In dieser Klasse drucken wir die Werte des Objekts, indem wir sie nach Name und Alter sortieren.
Ausgabe:
Nach Namen sortieren 106 Ajai 27 105 Jai 21 101 Vijay 23 Sortierung nach Alter 105 Jai 21 101 Vijay 23 106 Ajai 27
Einleitung: Die Begriffe "Freeway" und "Highway" werden oft synonym verwendet, aber es gibt subtile Unterschiede…
Burritos und Enchiladas sind zwei beliebte Gerichte der mexikanischen Küche, die oft miteinander verwechselt werden.…
In der Zellbiologie spielen Replikation und Transkription entscheidende Rollen im genetischen Prozess. Beide sind Mechanismen,…
Osmose und Diffusion sind zwei grundlegende Prozesse, die in der Zellbiologie und Chemie eine entscheidende…
Einleitung: Die Evolution der mobilen Kommunikationstechnologie hat einen bedeutenden Meilenstein erreicht, als 4G (LTE) zu…
Einleitung: JPG und PNG sind zwei gängige Bildformate, die im Internet weit verbreitet sind. Obwohl…