Skip to main content

Co je to iterátor?

Iterátor je konstrukt počítačového jazyka, který umožňuje programu přečíst skupinu dat nebo informací systematicky.Iterátoři také umožňují individuální přístup ke každému členovi skupiny, aniž by to ovlivnilo zbytek skupiny.Používají se v mnoha jazycích skriptování a programování, včetně C ++, Java, PHP a Perl.Jejich implementace je nezávislá na objektech, které skenují, takže mohou skenovat jakýkoli typ skupiny objektů.Ve většině počítačových jazyků se iterátoři používají k procházení skupin souvisejících objektů zvaných sbírky.Jejich implementace jsou velmi flexibilní a mohou být použity se sbírkami jakékoli velikosti.Obecně jsou bezpečnější než jednoduchý přístup k prvkům ve sbírce, protože jejich rozsah je omezen na prvky ve sbírce.I když je stále možné přistupovat k indexu mimo omezení, není pravděpodobné, zda je iterátor používán správně.

Iterátoři jsou definováni, inicializováni a zpracováni v paměti odlišně v závislosti na počítačovém jazyce, ve kterém jsou použity.Obecná syntaxe pro ně je naopak ve většině jazyků podobná.Existují dva různé typy syntaxe, které lze použít pro iterátory, definované jako explicitní nebo implicitní.Implicitní iterátoři zahrnují speciální typ struktury smyčky, který vytváří objekt iterátoru, aniž by byl zadán předem.To, zda jsou pro jakýkoli konkrétní traverzální, obvykle záleží na preferenci programátorů, jsou to, zda jsou explicitní nebo implicitní iterátoři používány, protože rozdíly v množství kódu nebo výkonu mezi nimi jsou zanedbatelné.Největší rozdíl mezi explicitními a implicitními iterátory spočívá v tom, že explicitní iterátoři ukazují vytvoření iterátoru ve zdrojovém kódu, zatímco implicitní iterátoři to neukazují.V závislosti na schopnostech počítačového jazyka mohou být iterátoři použity na polích, mapách, seznamech a řadě dalších typů sběru.Iterátoři jsou relativně všudypřítomným rysem programovacích jazyků a většina běžných jazyků má k dispozici nějaký typ funkčnosti.Některé počítačové jazyky umožňují iterátorům s dalšími funkcemi, jako jsou omezení, kolikrát je přístup k prvku.Protože tyto rysy nejsou univerzální, někdy existují způsoby, jak mohou být implementovány nezávisle na samotných iterátorech.