Skip to main content

Hva er en iterator?

En iterator er en dataspråkkonstruksjon som lar et program lese gjennom en gruppe dataverdier eller informasjonsstykker på en systematisk måte.Iteratorer gir også mulighet for individuell tilgang til hvert medlem av gruppen, uten å påvirke resten av gruppen.De brukes på mange skripting- og programmeringsspråk, inkludert C ++, Java, PHP og Perl.Implementeringen deres er uavhengig av objektene de skanner, slik at de kan skanne enhver type en gruppe objekter.

Å reise gjennom en gruppe objekter med en iterator kalles vanligvis iterasjon eller kryssing.På de fleste dataspråk brukes iteratorer til å krysse grupper av relaterte objekter kalt samlinger.Deres implementeringer er veldig fleksible og kan brukes med samlinger av alle størrelser.De er generelt tryggere enn enkel tilgang til elementet i en samling fordi rekkevidden deres er begrenset til elementene i samlingen.Selv om det fremdeles er mulig å få tilgang til en utenforbundingsindeks, er det ikke sannsynlig at hvis iteratoren brukes riktig.

iteratorer er definert, initialisert og håndtert i minnet annerledes avhengig av dataspråket de brukes i.Den generelle syntaksen for dem derimot er lik på de fleste språk.Det er to forskjellige typer syntaks som kan brukes til iteratorer, definert som eksplisitt eller implisitt.

Eksplisitte iteratorer involverer opprettelsen av et iteratorobjekt, og det objektet brukes deretter i en traversal sløyfe over elementene i en samling.Implisitte iteratorer involverer en spesiell type sløyfestruktur som skaper iteratorobjektet uten at det er spesifisert på forhånd.Hvorvidt eksplisitte eller implisitte iteratorer brukes til en bestemt traversal, avhenger vanligvis av programmerernes preferanser, da forskjeller i mengden kode eller ytelse mellom dem er ubetydelige.Den største forskjellen mellom eksplisitte og implisitte iteratorer er at eksplisitte iteratorer viser opprettelsen av en iterator i kildekode, mens implisitte iteratorer ikke viser dette.

Når en samling objekter er tilgjengelig, kan en iterator brukes til å skanne dem.Avhengig av mulighetene til et dataspråk, kan iteratorer brukes på matriser, kart, lister og en rekke andre samlingstyper.Iteratorer er et relativt allestedsnærværende trekk ved programmeringsspråk, og de vanligste språkene har en slags funksjonalitet tilgjengelig.Noen dataspråk tillater iteratorer med tilleggsfunksjoner, som begrensninger på antall ganger et element er tilgjengelig.Siden disse funksjonene ikke er universelle, er det noen ganger måter de kan implementeres uavhengig av iteratorene selv.