Javas on Iteratoril ja Iterable'il vahet?


Vastus 1:

Liideste nimed sobivad ideaalselt, need peaksid teile vihje andma, kui mitte juba otsesele vastusele. Klass, mis rakendab kontrollitavat liidest, on - ITERABLE.

Nii saab seda selles klassis korrata.

Seda kasutab näiteks iga silmus:

jaoks (Kaubaartikkel: üksused) {System.out.println (üksus); }

See kood töötab AINULT tingimusel, et “üksused” on klass, mis rakendab jälgitavat liidest.

Iterable liidesel on ainult üks meetod:

Iteraator iteraator ();

Tagastab iteraatori ja JVM kasutab iteraatorit sisemiselt, et itereerida üle teie objekti.

Iteraator on objekt, mida kasutatakse teise objekti jäljendamiseks. Nagu nutikas osutusobjekt, mis salvestab oleku (praegune, viimane, järgmine, hasNext…).

Nii et võiks öelda - tähistamatu on pirnipuu. Iteraator on pirn. Pirnipuu “tagastab pirnid”. Pirnipuu ei ole pirn.

(mitte täiuslik illustratsioon, mida pean tunnistama, aga noh, ma loodan, et saate idee kätte ;-)

Veebis kasutatav lähtekood (OpenJdk):

Iterable - java.lang.Iterable (.java) - GrepCode Interface Source

Interneti-iteraatori lähtekood (OpenJdk):

Iterator - java.util.Iterator (.java) - GrepCode'i liidese allikas


Vastus 2:

Täname A2A eest

Kui midagi rakendab „Iterable”, võite selle jaoks nimetada .iterator () meetodi ja olete Iterator-objekti tarninud. See juhtub "katte all" aas-silmus.

Iterator on objektide esinemisjuhis, mis jätab meelde asjade kollektsiooni koha. Iga kord, kui seda küsite, annab see teile järgmise asja järjest. See annab teile teada ka siis, kui asi on otsa saanud.

Loodetavasti tagastab parandatav objekt teile iga kord uue värske iteraatori. Siis võib teil olla mitu kliendikoodi, mis kõik itereeruvad oma kiirusega.


Vastus 3:

Iteraator on lihtne viis, mis võimaldab mõnel inimesel andmete kogumist läbi viia ilma määramisõiguseta (ehkki koos eemaldamisvõimalusega). See jälgib praegust elementi ja ka seda, kuhu see järgmisena läheb.

Itereeritav on elementide seeria lihtne esitus, mida saab korrata. See annab meile lihtsalt mõista, et konkreetset kollektsiooni saab korrata, näiteks saame alustada esimesest elemendist ja saada järgmise elemendi, siis järgmise ja nii edasi.


Vastus 4:

Iteraator on lihtne viis, mis võimaldab mõnel inimesel andmete kogumist läbi viia ilma määramisõiguseta (ehkki koos eemaldamisvõimalusega). See jälgib praegust elementi ja ka seda, kuhu see järgmisena läheb.

Itereeritav on elementide seeria lihtne esitus, mida saab korrata. See annab meile lihtsalt mõista, et konkreetset kollektsiooni saab korrata, näiteks saame alustada esimesest elemendist ja saada järgmise elemendi, siis järgmise ja nii edasi.