Co je to komparátorové rozhraní v Javě?



Porovnávač v Javě se používá k uspořádání objektů uvnitř uživatelem definované třídy. Zjistěte vše o rozhraní java Comparator a o tom, jak jej můžete implementovat.

Komparátor je jedním z nejužitečnějších a nejasnějších témat v Javě. Užitečné, protože poskytuje metody třídění pro objekty a matoucí, protože to zní podobně v Javě. Přináším vám tedy tento článek, kde vyjasním všechny pochybnosti kolem srovnávače v Javě.

Začněme.





Co je komparátor v Javě?

Java Comparatorrozhraní se používá k objednání předměty uvnitř uživatelem definované třída . Toto rozhraní je k dispozici v Jáva . užitečný balíček a zahrnuje dvě zásadní metody známé jako porovnání (Object obj1, Object obj2) a equals (Object element).

Podívejme se nyní na různé metody Java Comparator:



Metody rozhraní Java Comparator

V Javě existují dvě metody komparátorů, a to:

MetodyPopis
porovnat (Objekt obj1, Objekt obj 2)Porovná první objekt s jiným
rovná se (Object obj)Porovná aktuální objekt se zadaným obj

Níže uvedený kód popisuje použití obou metod Java Comparatorem.

Příklad srovnávače Java

// Údaje o zaměstnancích



balíček JavaComparator import java.util. * import java.lang. * import java.io. * třída Zaměstnanec {int EmpID Název řetězce, adresa veřejný Zaměstnanec (int EmpID, název řetězce, adresa řetězce) {this.EmpID = EmpID this.name = name this.address = address} public String toString () {return this.EmpID + '' + this.name + '' + this.address}} třída Sortbyroll implementuje komparátor {public int porovnání (zaměstnanec a, zaměstnanec b) { vrátit a.EmpID - b.EmpID}} třída Sortbyname implementuje komparátor {public int porovnání (zaměstnanec a, zaměstnanec b) {návrat a.name.compareTo (b.name)}} třída Main {public static void main (String [] args) {ArrayList Arr = new ArrayList () Arr.add (nový zaměstnanec (1011, 'Rajesh', 'Bangalore')) Arr.add (nový zaměstnanec (1031, 'Ralph', 'Hyderabad')) Arr.add ( new Employee (1201, 'Karan', 'Haryana')) System.out.println ('Unsorted Data') for (int i = 0 i 

Výstup:

Netříděná data
1011 Rajesh Bangalore
1031 Ralph Hyderabad
1201 Karan Haryana

Seřazená data podle ID zaměstnanců
1011 Rajesh Bangalore
1031 Ralph Hyderabad
1201 Karan Haryana

Seřazená data podle jména zaměstnance
1201 Karan Haryana
1011 Rajesh Bangalore
1031 Ralph Hyderabad

Pojďme pochopit druhou metodu Jáva Srovnatelná, tj. Metoda rovná se.

cast double na int java

Příklad Java equals ():

balíček Equals public class EqualsExample {public static void main (String equals) {System.out.println (new Eqls ('Harsha', 35, 12000) .equals (new Eqls ('Hari', 25,12000))) System. out.println (new Eqls ('Karan', 44, 45000) .equals (new Eqls ('Karan', 44, 45000))) System.out.println (new Eqls ('latha', 54, 60000) .equals (new Object ()))} static class Eqls {private String name private int age private int Plat public Eqls (String name, int age, int Salary) {this.name = name this.age = age this.Salary = Plat} @Override public boolean equals (Object o) {if (this == o) {return true} if (o == null || getClass ()! = O.getClass ()) {return false} Eqls eqls = (Eqls) o návratový věk == eqls.age && Plat == eqls.Salary && name.equals (eqls.name)}}}

Výstup:

Nepravdivé
skutečný
Nepravdivé

Po pochopení rozhraní Java Comparator pojďme k našemu dalšímu tématu, tj. Srovnatelné vs. Srovnatelné.

Komparátor vs Srovnatelný

KomparátorSrovnatelný
Srovnávač se používá k třídění atributů různých objektů.Srovnatelné rozhraní se používá k třídění objektů s přirozeným uspořádáním.
Rozhraní komparátoru porovnává dva poskytované objekty různých tříd.Srovnatelné rozhraní porovnává „tento“ odkaz se zadaným objektem.
V balíčku java.util je přítomen komparátor.Srovnatelné je v balíčku java.lang.
Komparátor neovlivňuje původní tříduSrovnatelné ovlivňuje původní třídu, tj. Skutečná třída je upravena.
Komparátor poskytuje metodu porovnání (), metodu equals () pro třídění prvků.Srovnatelný poskytuje k porovnání prvků metodu compareTo ().

Tím se dostáváme na konec tohoto článku o komparátoru Java. Pokud se chcete o Javě dozvědět více, můžete se podívat na naši .

Pokud jste našli tento článek na téma „Komparátor v Javě „Relevantní, Podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě. Jsme tu, abychom vám pomohli s každým krokem na vaší cestě, abychom se kromě otázek týkajících se tohoto rozhovoru pro javu stali i učebním plánem, který je určen pro studenty a profesionály, kteří chtějí být vývojářem v jazyce Java. Kurz je navržen tak, aby vám poskytl náskok v programování v Javě a naučil vás základní i základní spolu s různými rámci Java, jako je Hibernate & Spring.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů tohoto „Komparátoru v Javě “Článek a my se vám ozveme co nejdříve.