Razlika između usporednog i komparativnog u Javi

Autor: Laura McKinney
Datum Stvaranja: 1 Travanj 2021
Datum Ažuriranja: 11 Svibanj 2024
Anonim
Hrvatski jezik - Usporedna raščlamba
Video: Hrvatski jezik - Usporedna raščlamba

Sadržaj

Usporedno i Comparator su generička sučelja u Javi koja se koriste za usporedbu elemenata podataka o objektima. Usporedno sučelje prisutno je u paketu java.lang, a sučelje Comparator prisutno je u paketu java.util. Osnovna razlika između sučelja Comparable i Comparator je ta da Comparable sučelje osigurava jedinstven redoslijed sortiranja dok, Comparator sučelje pruža višestruke sekvence sortiranja. Postoje neke druge razlike između uporedivog i komparacijskog sučelja koje ćemo proučavati u uporednoj karti.


  1. Usporedni grafikon
  2. definicija
  3. Ključne razlike
  4. Zaključak

Usporedni grafikon

Osnove za usporedbuusporedivokomparator
Osnovni, temeljni Usporedno sučelje omogućuje samo jedan redoslijed sortiranja.Sučelje za komparator omogućuje više nizova sortiranja.
paketi Usporedno sučelje prisutno je u paketu java.lang.Sučelje za komparator prisutno je u paketu java.util.
metode Usporedno sučelje sadrži samo jednu metodu
javni int usporeditiTo (Objekt obj);
Sučelje za usporednik sadrži dvije metode
javni int usporedbi (Objekt obj1, Objekt obj2)
booleova jednaka (Objekt obj)
izvršenjeUsporedivo sučelje implementira klasa čiji se objekti uspoređuju.Sučelje komparatora implementira klasa sperate umjesto klase čiji se objekti trebaju uspoređivati.
usporedba Metoda CompareTo (Object obj) uspoređuje objekt koji se koristi za pozivanje metode s navedenim objektom prelazi na metodu.Metoda usporedbe (Objekt obj1, Objekt obj2) uspoređuje oba navedena objekta koja su proslijeđena metodi.
Lista / ArrayKada se popis objekata sličnog tipa mora uspoređivati, zbirka klase pruža metodu, tj. Collections.sort (List lst).Kad se popis objekata usporedivog tipa mora usporediti, klasa Collection pruža metodu, tj.
Zbirke.sort (Popis, komparator).


Definicija Usporediva

Usporedivo je sučelje koje je dostupno u paketu java.lang. Klasa provodi Comparator sučelje, radi sortiranja objekta u prirodnom redoslijedu. Objekti su sortirani u prirodnom redoslijedu, znači da se objekti uspoređuju s njihovim ASCII vrijednostima. Klase koje implementiraju uporedivo sučelje su klase Byte, Character, Double, Float, Long, Short, String i Integer. Čak i klasa Date i Calander također implementira Usporedivo sučelje.

Usporedno sučelje sadrži samo jednu metodu koja je CompareTo (Object obj). Ova metoda uspoređuje objekt koji se koristi za pozivanje metode s objektom navedenim u parametru. Sintaksa metode je sljedeća:

javni int usporeditiTo (Objekt obj);

Vrati se metoda CompareTo (Object obj) 0, kada oba objekta u usporedbi s metodom sadrže istu vrijednost, vraća se ve vrijednost ako je objekt koji se poziva je manji od navedenog objekta i vraća se -ve vrijednost ako objekt koji priziva ima veću vrijednost u usporedbi s navedenim objektom. Klasa Zbirke pruža način sortiranja elemenata popisa. Elementi popisa (i nizova) Usporedivog tipa mogu se sortirati metodom „Collections.sort (List lst)“.


Definicija komparatora

Comparator je sučelje koje je dostupno u paketu java.util. Usporedba sučelja se ne provodi na klasi čiji se objekti trebaju uspoređivati, a zasebna klasa implementira Comparator sučelje tako da se logika sortiranja primjenjuje na svaki podatkovni element objekta u drugoj klasi. Usporednik sadrži dvije metode kako slijedi:

Javna int usporedba (Objekt obj1, Objekt obj2) i boolean jednaka (Object obj)

Gore usporedna metoda () uspoređuje prvi objekt obj1, s drugim objektom obj2. Metoda usporedbe () vraća 0 kad oba objekta u usporedbi s metodom sadrže istu vrijednost, vraća se ve vrijednost ako je objekt obj1 manji od tada objekta obj2 i vraća se -ve vrijednost ako objekt obj1 ima veću vrijednost u odnosu na objekt obj2. Metoda equals () provjerava je li određeni objekt jednak objektu koji se poziva. Metoda equals () vraća pravi ako su oba uspoređena objekta jednaki, vraća se lažan, Klasa Zbirke pruža metodu za razvrstavanje elemenata popisa i vrste komparatora. Elementi popisa vrsta komparatora razvrstani su metodom Collections.sort (List, Comparator).

  1. Usporedivo sučelje omogućuje pojedinačno redoslijed sortiranja, što znači da možete usporediti samo jedan podatkovni element objekta u metodi сравнениеTo (), s druge strane, sučelje komparatora omogućava više nizova sortiranja, što znači da možete usporediti više elemenata podataka objekta.
  2. Usporedivo sučelje implementira klasa čiji se objekti uspoređuju jer je logika sortiranja definirana unutar iste klase. S druge strane, Comparator sučelje ne provodi klasa čije se objekte treba uspoređivati ​​jer je logika sortiranja definirana u zasebnim klasama gdje svaka klasa definira sortiranje na jedinstvenom podatkovnom elementu objekta, a ove klase koje definiraju implementira komparacijsko sučelje ,
  3. Usporedivo sučelje nalazi se unutar java.lang paketa, dok sučelje Comparator nalazi se unutar java.util paketa.
  4. Usporedno sučelje deklarira samo jednu metodu koja je CompareTo (Objekt obj), dok Comparator sučelje deklarira dvije metode koje su, usporedba (Object obj1, Object obj2) i jednaka (Object obj).
  5. Metoda CompareTo (Object obj) u Usporedni uspoređuje metodu koja priziva objekt s navedenim objektom koji je prošao na metodu dok metoda usporedbe (Objekt obj1, Objekt obj2) u usporedbi uspoređuje objekte obj1 s obj2 koji su proslijeđeni metodi.
  6. Klasa Zbirke pruža metodu sortiranja „Collections.sort (List lst)“ radi sortiranja objekata vrste Uporediva. Klasa Zbirke pruža način sortiranja Collections.sort (Popis, komparator) za sortiranje objekata tipa Comparator.

Zaključak:

Ako želite sortirati objekte u prirodnom redoslijedu, tada možete upotrijebiti uporedivo sučelje na kojemu želite poredati objekte na temelju bilo kojeg atributa, a zatim se koristi sučelje komparatora.