Mikä on Iterator?

Iteraattori on tietokoneen kielikonstruktio, jonka avulla ohjelma voi lukea systemaattisesti data -arvoryhmän tai informaation. Iteraattorit sallivat myös yksilöllisen pääsyn jokaiseen ryhmän jäseneen vaikuttamatta muuhun ryhmään. Niitä käytetään monissa komentosarjoissa ja ohjelmointikielissä, mukaan lukien C ++, Java, PHP ja Perl. Niiden toteutus on riippumaton skannatuista kohteista, joten ne voivat skannata minkä tahansa tyyppisen objektiryhmän.

Matkustamista iteraattorilla kutsutaan yleensä iteroimiseksi tai kulkemiseksi. Useimmilla tietokoneen kielillä iteraattoreita käytetään kulkemaan aiheeseen liittyvien objektien ryhmiä, joita kutsutaan kokoelmiksi. Niiden toteutukset ovat erittäin joustavia ja niitä voidaan käyttää kaiken kokoisten kokoelmien kanssa. Ne ovat yleensä turvallisempia kuin yksinkertainen elementtien käyttö kokoelmassa, koska niiden valikoima rajoittuu kokoelman elementteihin. Vaikka on edelleen mahdollista käyttää rajojen ulkopuolista indeksiä, se ei ole todennäköistä, jos iteraattoria käytetään oikein.

Iteraattorit määritellään, alustetaan ja niitä käsitellään muistissa eri tavalla sen tietokoneen kielen mukaan, jolla niitä käytetään. Niiden yleinen syntaksi sitä vastoin on samanlainen useimmilla kielillä. Iteraattoreille voidaan käyttää kahta erityyppistä syntaksia, jotka määritellään eksplisiittisiksi tai implisiittisiksi.

Selkeisiin iteraattoreihin kuuluu iteraattoriobjektin luominen, jota sitten käytetään kiertosilmukassa kokoelman elementtien päällä. Epäsuorat iteraattorit sisältävät erityyppisen silmukkarakenteen, joka luo iteraattoriobjektin määrittämättä sitä etukäteen. Se, käytetäänkö eksplisiittisiä tai implisiittisiä iteraattoreita jollekin tietylle läpikululle, riippuu yleensä ohjelmoijan mieltymyksistä, koska erot koodin määrässä tai suorituskyvyssä niiden välillä ovat vähäisiä. Suurin ero eksplisiittisten ja implisiittisten iteraattoreiden välillä on se, että eksplisiittiset iteraattorit osoittavat iteraattorin luomisen lähdekoodissa, kun taas implisiittiset iteraattorit eivät näytä tätä.

Aina kun kokoelma esineitä on saatavilla, niitä voidaan käyttää iteraattorilla. Tietokoneen kielista riippuen iteraattoreita voidaan käyttää matriiseissa, kartoissa, luetteloissa ja monissa muissa kokoelmatyypeissä. Iteraattorit ovat suhteellisen yleinen piirre ohjelmointikielissä, ja useimmilla yleisillä kielillä on jonkinlainen toiminto. Jotkin tietokonekielet sallivat iteraattoreilla lisäominaisuuksia, kuten rajoituksia elementtien käyttökertojen määrälle. Koska nämä ominaisuudet eivät ole yleismaailmallisia, on joskus tapoja, joilla ne voidaan toteuttaa iteraattoreista riippumatta.