Razlika med primerljivim in primerjalnim v Javi

Avtor: Laura McKinney
Datum Ustvarjanja: 1 April 2021
Datum Posodobitve: 13 Maj 2024
Anonim
Razlika med primerljivim in primerjalnim v Javi - Tehnologija
Razlika med primerljivim in primerjalnim v Javi - Tehnologija

Vsebina

Primerljivo in Comparator sta generični vmesnik na Javi, ki se uporablja za primerjavo podatkovnih elementov predmetov. Primerljivi vmesnik je prisoten v paketu java.lang, v paketu java.util pa je vmesnik Comparator. Osnovna razlika med vmesnikom primerljiv in primerjalnik je, da vmesnik primerljiv zagotavlja zaporedje posameznega sortiranja, medtem ko vmesnik primerjalnik zagotavlja več zaporednih vrst sortiranja. Obstaja nekaj drugih razlik med primerjalnim in primerjalnim vmesnikom, ki jih bomo preučili v primerjalni tabeli.


  1. Primerjalna tabela
  2. Opredelitev
  3. Ključne razlike
  4. Zaključek

Primerjalna tabela

Osnove za primerjavoPrimerljivoPrimerjalnik
Osnovni Primerljivi vmesnik omogoča samo eno zaporedje sortiranja.Vmesnik Comparator omogoča več zaporednih vrst sortiranja.
Paketi Primerljivi vmesnik je prisoten v paketu java.lang.V paketu java.util je prisoten vmesnik Comparator.
Metode Primerljivi vmesnik vsebuje samo eno metodo
javni int primerjajTo (Objekt obj);
Vmesnik Comparator vsebuje dve metodi
primerjaj javni int (Objekt obj1, Objekt obj2)
boolean enako (Objekt obj)
IzvajanjePrimerljiv vmesnik izvaja razred, katerega predmete je treba primerjati.Primerjalni vmesnik namesto tega uporablja razred sperate, ki ga primerjajo predmeti.
Primerjava Metoda CompareTo (Object obj) primerja objekt, ki se uporablja za priklic metode z navedenim objektom, preide v metodo.Metoda primerjava (Objekt obj1, Objekt obj2) primerja oba podana predmeta, ki sta bila posredovani metodi.
Seznam / matrikaKadar je treba primerjati seznam predmeta primerljivega tipa, zbirka ponuja metodo, tj. Collections.sort (List lst).Kadar je treba primerjati seznam predmetov primerljivega tipa, zbirka ponuja način, tj.
Zbirke.sort (Seznam, primerjalec).


Opredelitev primerljivega

Primerljiv je vmesnik, ki je na voljo v paketu java.lang. Razred izvaja vmesnik Comparator, da svoj predmet razvrsti v naravnem vrstnem redu. Predmeti so razvrščeni v naravnem vrstnem redu, pomeni, da se objekti primerjajo po njihovih ASCII vrednostih. Razredi, ki izvajajo primerljivi vmesnik, so razredi bajtov, znakov, dvojnih, plavajočih, dolgih, kratkih, nizov in števil. Tudi razred Date in Calander uporabljata tudi vmesnik Primerljiv.

Primerljivi vmesnik vsebuje samo eno metodo, ki je CompareTo (Object obj). Ta metoda primerja predmet, ki se uporablja za priklic metode z objektom, ki je določen v parametru. Sintaksa metode je naslednja:

javni int primerjajTo (Objekt obj);

Metoda CompareTo (Object obj) se vrne 0, ko oba predmeta, ki ju primerja metoda, vsebuje isto vrednost, se vrne -ve vrednost, če je objekt, ki prikliče, manjši od navedenega predmeta in se vrne + ve vrednost, če ima objekt, ki prikliče, večjo vrednost v primerjavi z navedenim objektom. Razred Zbirke ponuja način razvrščanja elementov seznama. Elemente seznama (in matrike) primerljivega tipa lahko razvrstite po metodi »Collections.sort (List lst)«.


Opredelitev primerjalnika

Primerjalnik je vmesnik, ki je na voljo v paketu java.util. Vmesnik Primerjalnik se ne izvaja na razredu, katerega objekte je treba primerjati, namesto da ločeni razred izvede vmesnik Primerjalnik, tako da se logika razvrščanja uporabi za vsak podatkovni element predmeta v drugem razredu. Primerjalnik vsebuje dve metodi, kot sledi:

primerja javni int (Objekt obj1, Objekt obj2) in boolean enako (Objekt obj)

Zgoraj metoda primerjanja () primerja prvi objekt obj1 in drugi objekt obj2. Metoda primerjave () se vrne 0 ko oba predmeta, ki ju primerja metoda, vsebuje isto vrednost, se vrne -ve vrednost, če je objekt obj1 manjši od objekta in ga vrne + ve vrednost, če ima objekt obj1 večjo vrednost v primerjavi s objektom obj2. Metoda equals () preveri, če je določen objekt enak predpostavljenemu objektu. Metoda equals () se vrne prav če sta oba primerjena predmeta enaka, se vrne lažno. Razred Zbirke ponuja način razvrščanja elementov seznama in vrste primerjalnika. Elementi seznama vrst primerjalnikov so razvrščeni po metodi Collections.sort (Seznam, primerjevalec).

  1. Primerljivi vmesnik omogoča eno zaporedje sortiranja, kar pomeni, da lahko primerjate samo en podatkovni element predmeta v metodi сравнениеTo () na drugi strani Vmesnik primerjalnika omogoča več zaporednih razvrstitev, kar pomeni, da lahko primerjate več podatkovnih elementov predmeta.
  2. Primerljivi vmesnik izvaja razred, katerega predmete je treba primerjati, ker je logika razvrščanja definirana znotraj istega razreda. Po drugi strani vmesnik Comparator ne izvaja razred, katerega predmete je treba primerjati, ker je logika razvrščanja definirana v ločenih razredih, kjer vsak razred definira razvrščanje po enem podatkovnem elementu predmeta in ti definirajoči razredi izvajajo vmesnik Comparator .
  3. Primerljivi vmesnik je znotraj paketa java.lang, medtem ko vmesnik Comparator leži znotraj java.util paketa.
  4. Primerljivi vmesnik izjavi samo eno metodo, ki je primerjavaTo (Objekt obj), medtem ko vmesnik Comparator razglasi dve metodi, ki sta, primerjava (Objekt obj1, Objekt obj2) in enaka (Object obj).
  5. Metoda CompareTo (Object obj) v Primerljivo primerja metodo, ki prikliče objekt s podanim objektom, ki je bil posredovan metodi, medtem ko metoda Primerjava (Objekt obj1, Objekt obj2) v primerjavi s primerja predmete obj1 z obj2, ki so bili preneseni na metodo.
  6. Razred Collections ponuja način razvrščanja »Collections.sort (Seznam lst)« za razvrščanje predmetov vrste Primerljiv. Razred Collections ponuja način sortiranja Collections.sort (Seznam, primerjalnik) za razvrščanje predmetov vrste Primerjalnik.

Zaključek:

Če želite razvrstiti predmete v naravnem vrstnem redu, lahko uporabite primerljiv vmesnik, če želite predmete razvrstiti na podlagi katerega koli atributa, potem se uporabi vmesnik primerjalnika.