Skip to main content

Wat is een iterator?

Een iterator is een computertaalconstruct waarmee een programma een groep gegevenswaarden of stukjes informatie op een systematische manier kan doorlezen.Iterators geven ook individuele toegang tot elk lid van de groep, zonder de rest van de groep te beïnvloeden.Ze worden gebruikt in veel script- en programmeertalen, waaronder C ++, Java, PHP en Perl.Hun implementatie is onafhankelijk van de objecten die ze scannen, zodat ze elk type van een groep objecten kunnen scannen.

Reizen door een groep objecten met een iterator wordt meestal iterating of doorkruisen genoemd.In de meeste computertalen worden iterators gebruikt om groepen van gerelateerde objecten te doorkruisen die collecties worden genoemd.Hun implementaties zijn zeer flexibel en kunnen worden gebruikt met collecties van elke grootte.Ze zijn in het algemeen veiliger dan eenvoudige elementtoegang in een collectie omdat hun bereik beperkt is tot de elementen in de collectie.Hoewel het nog steeds mogelijk is om toegang te krijgen tot een out-of-bound-index, is het niet waarschijnlijk als de iterator correct wordt gebruikt.

iterators worden gedefinieerd, geïnitialiseerd en in het geheugen worden behandeld, afhankelijk van de computertaal waarin ze worden gebruikt.De algemene syntaxis voor hen is daarentegen vergelijkbaar in de meeste talen.Er zijn twee verschillende soorten syntaxis die kunnen worden gebruikt voor iterators, gedefinieerd als expliciet of impliciet.

expliciete iterators omvatten het creëren van een iteratorobject, en dat object wordt vervolgens gebruikt in een traversale lus over de elementen van een verzameling.Impliciete iterators omvatten een speciaal type lusstructuur dat het Iterator -object creëert zonder dat het vooraf wordt gespecificeerd.Of expliciete of impliciete iterators al dan niet worden gebruikt voor een bepaalde doorgang, hangt meestal af van de voorkeur van de programmeurs, omdat verschillen in de hoeveelheid code of prestaties ertussen te verwaarlozen zijn.Het grootste verschil tussen expliciete en impliciete iterators is dat expliciete iterators de creatie van een iterator in broncode tonen, terwijl impliciete iterators dit niet laten zien.

Wanneer een verzameling objecten beschikbaar is, kan een iterator worden gebruikt om ze te scannen.Afhankelijk van de mogelijkheden van een computertaal, kunnen iterators worden gebruikt op arrays, kaarten, lijsten en een verscheidenheid aan andere collectietypen.Iterators zijn een relatief alomtegenwoordig kenmerk van programmeertalen, en de meest voorkomende talen hebben een soort functionaliteit beschikbaar.Sommige computertalen stellen iterators met extra functies toe, zoals beperkingen op het aantal keren dat een element toegankelijk is.Omdat deze functies niet universeel zijn, zijn er soms manieren waarop ze onafhankelijk van de iterators zelf kunnen worden geïmplementeerd.