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
Haben Sie sich jemals gefragt, warum Sie manchmal bei Einkäufen Ihre PIN eingeben müssen und…
Haben Sie sich jemals gefragt, warum Ärzte manchmal eine CT-Untersuchung und in anderen Fällen ein…
Haben Sie sich jemals gefragt, warum manche Menschen von ihrem "Lohn" sprechen, während andere ihr…
Seide oder Baumwolle: Ein ewiger Wettstreit um Weichheit und Komfort 🧵🌿 Haben Sie sich jemals…
Haben Sie sich jemals gefragt, warum manche Radfahrer scheinbar mühelos Steigungen erklimmen, während andere ins…
Staubsaugen - eine lästige Pflicht, die niemand gerne erledigt. 🧹 Doch in der Welt der…