Skip to main content

Hvad er en iterator?

En iterator er en computersprogskonstruktion, der giver et program mulighed for at læse gennem en gruppe af dataværdier eller informationsstykker på en systematisk måde.Iteratorer giver også mulighed for individuel adgang til hvert medlem af gruppen uden at påvirke resten af gruppen.De bruges på mange scripting- og programmeringssprog, herunder C ++, Java, PHP og Perl.Deres implementering er uafhængig af de objekter, de scanner, så de kan scanne enhver form for en gruppe af objekter.

Rejser gennem en gruppe objekter med en iterator kaldes normalt iterering eller krydsning.På de fleste computersprog bruges iteratorer til at krydse grupper af relaterede objekter kaldet samlinger.Deres implementeringer er meget fleksible og kan bruges med samlinger af enhver størrelse.De er generelt sikrere end simpel elementadgang i en samling, fordi deres rækkevidde er begrænset til elementerne i samlingen.Selvom det stadig er muligt at få adgang til et uden for grænserne, er det ikke sandsynligt, hvis iteratoren bruges korrekt.

Iteratorer er defineret, initialiseres og håndteres i hukommelsen forskelligt afhængigt af det computersprog, de bruges i.Den generelle syntaks for dem er derimod ens på de fleste sprog.Der er to forskellige typer syntaks, der kan bruges til iteratorer, defineret som eksplicit eller implicit.

eksplicitte iteratorer involverer oprettelsen af et iteratorobjekt, og det objekt bruges derefter i en traversal loop over elementerne i en samling.Implicit iteratorer involverer en speciel type loopstruktur, der opretter iteratorobjektet uden at det er specificeret på forhånd.Hvorvidt eksplicitte eller implicitte iteratorer bruges til en bestemt gennemgang afhænger normalt af programmererne præference, da forskelle i mængden af kode eller ydeevne mellem dem er ubetydelige.Den største forskel mellem eksplicitte og implicitte iteratorer er, at eksplicit iteratorer viser oprettelsen af en iterator i kildekode, mens implicit iteratorer ikke viser dette.

Hver gang en samling af objekter er tilgængelig, kan en iterator bruges til at scanne dem.Afhængig af kapaciteterne på et computersprog, kan iteratorer bruges på arrays, kort, lister og en række andre indsamlingstyper.Iteratorer er et relativt allestedsnærværende træk ved programmeringssprog, og mest almindelige sprog har en eller anden form for funktionalitet til rådighed.Nogle computersprog tillader iteratorer med yderligere funktioner, såsom begrænsninger for antallet af gange, der er adgang til et element.Da disse funktioner ikke er universelle, er der undertiden måder, hvorpå de kan implementeres uafhængigt af iteratorerne selv.