Co je Iterátor?

Iterátor je konstrukce počítačového jazyka, která umožňuje programu systematicky číst prostřednictvím skupiny datových hodnot nebo informací. Iterátory také umožňují individuální přístup ke každému členovi skupiny, aniž by to ovlivnilo zbytek skupiny. Používají se v mnoha skriptovacích a programovacích jazycích, 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ů.

Cestování skupinou objektů s iterátorem se obvykle nazývá iterace nebo procházení. Ve většině počítačových jazyků se iterátory používají k procházení skupin souvisejících objektů nazývaných kolekce. Jejich implementace jsou velmi flexibilní a lze je použít s kolekcemi jakékoli velikosti. Obecně jsou bezpečnější než jednoduchý přístup k prvkům v kolekci, protože jejich rozsah je omezen na prvky v kolekci. I když je stále možné získat přístup k indexu mimo hranice, není pravděpodobné, pokud je iterátor používán správně.

Iterátory jsou definovány, inicializovány a zpracovávány v paměti odlišně v závislosti na počítači, ve kterém jsou použity. Obecná syntax pro ně je naproti tomu ve většině jazyků podobná. Existují dva různé typy syntaxe, které lze použít pro iterátory, definované jako explicitní nebo implicitní.

Explicitní iterátory zahrnují vytvoření objektu iterátoru a tento objekt je poté použit v průchozí smyčce nad prvky kolekce. Implicitní iterátory zahrnují speciální typ struktury smyčky, která vytváří objekt iterátoru, aniž by byl předem určen. Zda jsou explicitní nebo implicitní iterátory použity pro konkrétní průchod, obvykle závisí na preferenci programátora, protože rozdíly ve velikosti kódu nebo výkonu mezi nimi jsou zanedbatelné. Největší rozdíl mezi explicitními a implicitními iterátory je v tom, že explicitní iterátory ukazují vytvoření iterátoru ve zdrojovém kódu, zatímco implicitní iterátory to neukazují.

Kdykoli je k dispozici kolekce objektů, lze pro jejich skenování použít iterátor. V závislosti na schopnostech počítačového jazyka lze iterátory použít na polích, mapách, seznamech a řadě dalších typů kolekce. Iterátory jsou relativně všudypřítomnou vlastností programovacích jazyků a většina běžných jazyků má k dispozici určitý typ funkcí. Některé počítačové jazyky umožňují iterátory s dalšími funkcemi, například omezení počtu přístupů k prvku. Protože tyto rysy nejsou univerzální, existuje někdy způsob, jak je lze implementovat nezávisle na iterátorech samotných.

JINÉ JAZYKY

Pomohl vám tento článek? Děkuji za zpětnou vazbu Děkuji za zpětnou vazbu

Jak můžeme pomoci? Jak můžeme pomoci?