Hvad er en Iterator?

En iterator er en computersprogkonstruktion, der giver et program mulighed for at læse gennem en gruppe dataværdier eller informationsstykker på en systematisk måde. Iteratorer giver også mulighed for individuel adgang til hvert medlem af gruppen, uden at det påvirker resten af ​​gruppen. De bruges i 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 type af en gruppe af objekter.

At rejse gennem en gruppe objekter med en iterator kaldes normalt iterating eller traversing. I 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 enkel 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 out-of-bounds-indeks, er det ikke sandsynligt, hvis iteratoren bruges korrekt.

Iteratorer defineres, 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.

Eksplicit iteratorer involverer oprettelsen af ​​et iteratorobjekt, og det objekt bruges derefter i en gennemgående løb over elementerne i en samling. Implicitte iteratorer involverer en speciel type loopstruktur, der skaber iteratorobjektet uden at det er specificeret på forhånd. Hvorvidt eksplicit eller implicit iteratorer bruges til en bestemt gennemgang afhænger normalt af programmørens præference, da forskelle i mængden af ​​kode eller ydeevne mellem dem er ubetydelige. Den største forskel mellem eksplicit og implicit iteratorer er, at eksplicitte 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 kapaciteten på et computersprog kan iteratorer bruges på arrays, kort, lister og en række andre samlingstyper. Iteratorer er et relativt allestedsnærværende træk ved programmeringssprog, og de mest almindelige sprog har en eller anden form for funktionalitet tilgængelig. Nogle computersprog tillader iteratorer med yderligere funktioner, f.eks. Begrænsninger i 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.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?