Logo fi.removalsclassifieds.com

Ero vertailukelpoisen ja vertailevan välillä (taulukon kanssa)

Sisällysluettelo:

Anonim

Vertaileva ja vertaileva ovat molemmat Java-rajapinnat, joka on korkean tason ohjelmointikieli, jota käytetään lajittelemaan kokoelmaelementtejä. Java tarjoaa periaatteessa nämä kaksi erillistä rajapintaa objektien lajitteluun. Molempien rajapintojen välillä on monia merkittäviä eroja, jotka luovat rajan näiden kahden välille niiden suorittaman toiminnon perusteella.

Vertaileva vs vertailija

Vertailun ja vertailijan välinen ero on erottuva useilla parametreilla, kuten edellistä käyttöliittymää käytetään lajittelemaan kokoelma yhden elementin kautta, kun taas myöhempää käyttöliittymää käytetään lajittelemaan kokoelma useiden elementtien kautta. Tietyn luokan on itse otettava käyttöön Java. Lang.Comparable-rajapinta, jotta sen esiintymiä voidaan verrata tehokkaasti, kun taas vertailurajapinta on verrattavan elementtityypin ulkopuolinen.

Vertaileva on Java-kielen lang-paketissa oleva käyttöliittymä, jonka tarkoituksena on lajitella kokoelmaelementit käyttämällä vain yhtä attribuuttia, kuten ikä, hinta, tunnus, nimi jne. Se pystyy vertaamaan itseään mikä tahansa muu esine. Minkä tahansa tyyppiset objektit, olipa se luettelo tai taulukko, voidaan lajitella.

Comparator on Java-kielen util-paketissa oleva käyttöliittymä, jonka tarkoituksena on lajitella kokoelmaelementit useiden attribuuttien avulla kerralla. Se on erillinen luokka ja on verrattavan elementin tyypin ulkopuolella. Kokoelmat-luokka tarjoaa toisen lajittelumenetelmän, joka hyväksyy vertailijan parametriksi.

Vertailutaulukko vertailtavan ja vertailevan välillä

Vertailuparametrit

Vertailukelpoinen

Vertailija

Lajittelutyyppi Se tarjoaa yhden lajittelusarjan. Se tarjoaa useita lajittelusarjoja.
Luokkamuutos Se muuttaa todellista luokkaa. Se ei muuta todellista luokkaa.
Paketin sijainti Se on mukana java-lang-paketissa. Se on läsnä javassa. hyödyllinen paketti.
menetelmät Siinä on vertailuTo()-menetelmä. Siinä on vertaa()-menetelmä.
Lajittelumenetelmät Collections.sort(List) -menetelmä. Collections.sort(Lista, Comparator) -menetelmä.

Mikä on vertailukelpoinen?

Kuten edellä mainittiin, vertailukelpoinen on Java-ohjelmointikielen käyttöliittymä, joka on lang-paketissa ja jota käytetään lajittelemaan kokoelmaelementtejä käyttämällä vain yhtä attribuuttia. Vertailukelpoinen käyttöliittymä sisältää vain yhden menetelmän, joka on vertailuTo(). Vertailukelpoinen objekti pystyy vertaamaan muita objekteja. Jotta luokka voisi vertailla esiintymiä, on välttämätöntä, että luokka toteuttaa vertailukelpoisen rajapinnan.

Luonnollisen järjestyksen omaaville kohteille kehitettiin vertailukelpoinen käyttöliittymä. Toisin sanoen tämä tarkoittaa, että lajiteltavalla objektilla on oltava järjestys, jossa se lajitellaan. Loogisesti sanottuna vertailukelpoinen käyttöliittymä vertaa "tätä" viittausta menetelmässä mainittuun objektiin. Kun vertailukelpoinen käyttöliittymä on toteutettu missä tahansa luokassa, kyseisen luokan objekti voidaan lajitella Kokoelmien avulla. sort() tai Arrays. sort()-menetelmä.

Objektit lajitellaan automaattisesti CompareTo-menetelmän määrittelemään luonnolliseen järjestykseen. Numeroita, merkkijonoja ja monia muita tyyppejä voidaan verrata. Merkkijonoja voidaan verrata aakkosjärjestyksessä. Useat sisäänrakennetut java-luokat toteuttavat vertailukelpoisen käyttöliittymän. Tärkeintä on pitää mielessä, että vertailukelpoista käyttöliittymää voidaan käyttää vain saman luokan objektien vertailuun.

Mikä on Comparator?

Java-ohjelmointikielen vertailuliittymä on util-paketissa ja sitä käytetään lajittelemaan kokoelma useiden attribuuttien perusteella kerralla. Comparator on täysin erillinen luokka. Ohjelmoijat luovat useita luokkia, jotka toteuttavat vertailurajapinnan eri objektien vertailua varten.

Mitä tahansa kokoelmaobjektia vertaillaksesi on ensin luotava vertailumenetelmää toteuttava luokka, jossa on vertaa()-metodi. Seuraava vaihe on tehdä siitä luokasta esiintymä, joka toteuttaa vertailurajapinnan. Viimeinen vaihe on kutsua ylikuormitettua menetelmää, joka on sort()-menetelmä, ja määrittää sitten sekä luettelo että edellisessä vaiheessa luodun luokan esiintymä.

Vertailun käyttöliittymä vertaa kahta eri luokkiin kuuluvaa objektia. Comparator-rajapinnassa on kaksi menetelmää, jotka ovat vertailu()-menetelmä ja equals()-menetelmä. Vertailu()-menetelmä ottaa kaksi eri objektia vertailuparametrikseen, ja equals()-menetelmä määrittää, onko välitettävä objekti yhtä kuin kutsuva vertailija. Equals()-metodi palauttaa tuloksena loogisen arvon. True palautetaan, kun objekti on läpäissyt, ja kutsuva objekti on molemmat vertailijat, ja jos ei, palautetaan false.

Vertaa()-metodi palauttaa tulostukseensa kokonaisluvun, joka ilmaisee suuremman kahden läpäisyn kohteen joukosta.

Tärkeimmät erot vertailukelpoisen ja vertailevan välillä

Johtopäätös

Vaikka molempia rajapintoja käytetään lajittelutarkoituksiin, ne ovat molemmat täysin erilaisia. On olemassa monia parametreja tai perusteita, joiden perusteella niitä käytetään eri tavalla luetteloelementeissä eri tarkoituksiin. Jos henkilö haluaa lajitella listaelementtejä kokoelman yksittäisen elementin perusteella, niin vertailukelpoinen käyttöliittymä voidaan toteuttaa; Muussa tapauksessa, jos henkilö haluaa lajitella listaelementtejä useiden attribuuttien perusteella, kyseinen kokoelma tulee lajitella käyttämällä vertailurajapintaa. Molemmat rajapinnat on kehitetty käytettäviksi erillisiin tavoitteisiin.

Viitteet

  1. https://dom-pubs.onlinelibrary.wiley.com/doi/abs/10.1111/j.1463-1326.2011.01545.x
  2. https://journals.asm.org/doi/abs/10.1128/aac.47.6.1824-1831.2003
  3. https://ieeexplore.ieee.org/abstract/document/6042862/

Ero vertailukelpoisen ja vertailevan välillä (taulukon kanssa)