Skip to main content

Vad är en iterator?

En iterator är en datorspråkskonstruktion som gör det möjligt för ett program att läsa igenom en grupp datavärden eller informationsdelar på ett systematiskt sätt.Iteratorer tillåter också individuell tillgång till varje medlem i gruppen utan att påverka resten av gruppen.De används på många skript- och programmeringsspråk, inklusive C ++, Java, PHP och Perl.Deras implementering är oberoende av de objekt de skannar, så att de kan skanna alla typer av en grupp objekt.

Att resa genom en grupp objekt med en iterator kallas vanligtvis itererande eller korsande.På de flesta datorspråk används iteratorer för att korsa grupper av relaterade objekt som kallas samlingar.Deras implementeringar är mycket flexibla och kan användas med samlingar av alla storlekar.De är i allmänhet säkrare än enkel elementåtkomst i en samling eftersom deras sortiment är begränsat till elementen i samlingen.Även om det fortfarande är möjligt att komma åt ett utanför gränserindex, är det inte troligt om iteratorn används korrekt.

Iteratorer definieras, initialiseras och hanteras i minnet annorlunda beroende på datorspråket där de används.Den allmänna syntaxen för dem är däremot liknande på de flesta språk.Det finns två olika typer av syntax som kan användas för iteratorer, definierade som uttryckliga eller implicita.

Explicit iterators involverar skapandet av ett iteratorobjekt, och det objektet används sedan i en traversal loop över elementen i en samling.Implicita iteratorer involverar en speciell typ av slingstruktur som skapar iteratorobjektet utan att det anges i förväg.Huruvida uttryckliga eller implicita iteratorer används för någon speciell traversal beror vanligtvis på programmerarnas preferens, eftersom skillnader i mängden kod eller prestanda mellan dem är försumbara.Den största skillnaden mellan uttryckliga och implicita iteratorer är att uttryckliga iteratorer visar skapandet av en iterator i källkod, medan implicita iteratorer inte visar detta.

När en samling objekt finns, kan en iterator användas för att skanna dem.Beroende på kapacitet för ett datorspråk kan iteratorer användas på matriser, kartor, listor och en mängd andra insamlingstyper.Iteratorer är ett relativt allestädes närvarande inslag i programmeringsspråk, och de vanligaste språken har någon typ av funktionalitet.Vissa datorspråk tillåter Iterators med ytterligare funktioner, som begränsningar på antalet gånger ett element nås.Eftersom dessa funktioner inte är universella finns det ibland sätt på vilka de kan implementeras oberoende av iteratorerna själva.