ero iteraattorin ja lukumäärän rajapinnan välillä Javassa

iteraattori vs laskentakolme kursoria, joita käytetään minkä tahansa kokoelman elementtien käyttämiseen yksitellen, ovat luettelointi, iteraattori ja Listteraattori. Iteraattori ja enumeraattori on kuitenkin tarkoitettu saman työn suorittamiseen. Silti ne eroavat toisistaan siinä mielessä, että luetteloinnilla on vain lukuoikeus kokoelman elementteihin. Toisella puolella iteraattori voi lukea sekä poistaa elementtejä kokoelmasta.

tärkeä ero iteraattorin ja lukumäärän välillä on se, että Enumeraatiota ei voida soveltaa kokoelmaluokkiin se on sovellettavissa vain perintöluokkiin. Toisaalta iteraattori on sovellettavissa kokoelmaluokkiin, joten sitä kutsutaan yleiseksi kursoriksi. Oppikaamme lisää eroa iteraattorin ja luetteloinnin välillä alla olevan vertailukaavion avulla.

sisältö: Iteraattori vs. laskenta

  1. Vertailukaavio
  2. määritelmä
  3. keskeiset erot
  4. johtopäätös

Vertailukaavio

vertailupohja iteraattori laskutoimitus
Basic iteraattori on universaali kursori, koska se soveltuu kaikkiin kokoelmaluokkiin. arvojoukko ei ole universaali kohdistin, sillä se koskee vain vanhoja luokkia.
Access käyttämällä Iteraattoria voit lukea ja poistaa kokoelman elementit. luettelointia käyttäen voi lukea vain kokoelman alkuaineet.
Methods public boolean hasnext();
public objects next();
public void remove();
public boolean hasmorelements();
public object nextElement();
rajoitus iteraattori on yksisuuntainen eteenpäin pääsyn kursori.
iteraattori ei voi korvata mitään kokoelmassa olevaa elementtiä.
iteraattori ei voi lisätä kokoelmaan mitään uutta elementtiä.
arvojoukko on yksisuuntainen eteenpäin menevä kohdistin.
luettelointi tukee vain vanhoja luokkia.
luetteloinnissa on vain lukuoikeus kokoelman alkuaineisiin.
voittaa voittaaksesi iteraattorin rajoitukset sinun on valittava Listeraattori. voittaaksesi laskennan rajoitukset sinun on valittava iteraattori.

iteraattorin rajapinnan määritelmä

iteraattori on kokoelma-kehyksen rajapinta. Koska iteraattori soveltuu kaikkiin kokoelmaluokkiin, sitä kutsutaan yleiseksi kursoriksi. Se on kursori, jolla pääsee käsiksi kokoelman elementteihin yksi kerrallaan. Iteraattorin avulla voit hakea elementit kokoelmasta ja halutessasi voit myös poistaa elementit kokoelmasta. Iteraattorin kohde voidaan luoda alla esitetyllä tavalla.

Iterator itr = Collc.iterator();

muuttuja itr on iteraattorin objekti. Collc on mikä tahansa kokoelma-objekti, joka kierretään tai iteroidaan iteraattorin objektin (itr) avulla. Iteraattori () on menetelmä, jolla luodaan iteraattori-olio. Iteraattorissa on kolme menetelmää, kuten alla on esitetty.

public boolean hasnext();public Object next();public void remove();

ensimmäinen menetelmä onseuraava () tarkistaa, onko kokoelmassa aineksia vai ei. Jos kokoelma on elementit, se palaa totta muu palaa EPÄTOSI. Toista menetelmää() käytetään noutamaan seuraava osa kokoelmasta. Kolmatta menetelmää poista() käytetään elementtien poistamiseen kokoelmasta.

iteraattori voi kulkea kokoelmassa vain keulasuuntaan, jota se ei voi matkan aikana liikkua taaksepäin. Iteraattori voi poistaa elementin kokoelmasta, mutta sillä ei ole kykyä korvata mitään olemassa olevaa elementtiä uudella elementillä eikä se voi lisätä mitään uutta elementtiä kokoelmaan. Voit voittaa nämä rajoitukset voit mennä Listerator käyttöliittymä.

Laskentaliitännän määritelmä

laskenta on rajapinta, jota sovelletaan vanhoihin luokkiin, eikä sitä voida soveltaa mihinkään kokoelmaluokkaan. Näin ollen se ei ole universaali kohdistin. Arvojoukko hakee elementin (objektin) kokoelmasta yksitellen. Luettelointi-objektilla on vain lukuoikeus kokoelman elementteihin. Arvojoukko objekti ei voi muuttaa mitään elementtiä kokoelma. Katsotaanpa, miten luoda luettelointi objekti, on katsoa.

Enumeration er = Vect.elements();

muuttuja er on numeroinnin kohde. Vekti on sen vektoriluokan objekti, jonka läpi on kuljettava luvun objekti (er). Menetelmäelementtiä () käytetään laskennan kohteen luomiseen. Laskentaliittymässä on vain kaksi menetelmää, kuten alla esitetään.

public boolean hasMoreElements();public nextElement();

ensimmäisen menetelmän avulla voidaan tarkistaa kokoelman tila, onko siinä alkuaineita vai onko se tyhjä. Jos kokoelmassa on elementit, hasmoreelements () – menetelmä palauttaa true else return false. Toista menetelmää nextElement () käytetään alkuaineiden hakemiseen kokoelmasta yksi kerrallaan.

kun läpiajo on valmis, nextelement () – menetelmä heittää NoSuchElementException. Arvojoukko-objekti kulkee vain eteenpäin. Se ei voi lisätä tai poistaa tai korvata mitään osaa kokoelmassa. Voit voittaa nämä rajoitukset luettelointi, sinun täytyy valita iteraattori.

keskeisimmät erot iteraattorin ja lukumäärän välillä Java

  1. tärkein ero iteraattorin ja lukumäärän välillä on se, että iteraattori on universaali kursori, sitä voidaan käyttää minkä tahansa kokoelman kohteen iterointiin. Toisaalta luettelointia käytetään vain legacy-luokan objektin läpikäymiseen.
  2. Luettelointiobjektilla on vain lukuoikeus kokoelman elementteihin. Iteraattorin objekti voi kuitenkin lukea ja poistaa elementit kokoelmasta.
  3. iteraattorilla on kaksi menetelmää, joista toinen tarkistaa kokoelman tilan ja toinen noutaa alkuaineet kokoelmasta. Luettelointimenetelmien lisäksi Iteraattorilla on vielä yksi menetelmä elementtien poistamiseksi kokoelmasta.
  4. luetteloinnin rajoitukset ovat, että se on yksisuuntainen kohdistin eteenpäin, sillä on vain lukuoikeus ja sitä voidaan soveltaa kokoelmaluokkiin. Toisaalta iteraattori ei voi korvata tai lisätä mitään uutta elementtiä kokoelmaan ja kuten luettelointi sen myös eteenpäin yksisuuntainen kohdistin.
  5. lukumäärän rajoittaminen ratkaistaan Iteraattorilla ja iteraattorin rajoitukset Listeraattorilla.

johtopäätös

nykyään käytetään Iteraattoria ja Listertaor-kursoria, koska ne ovat universaali kursori ja ovat paljon tehokkaita kuin numerointi.

Vastaa

Sähköpostiosoitettasi ei julkaista.