O que é um iterador?
Um iterador é uma construção de linguagem de computador que permite que um programa leia através de um grupo de valores de dados ou informações de maneira sistemática. Os iteradores também permitem acesso individual a cada membro do grupo, sem afetar o restante do grupo. Eles são usados em muitas linguagens de script e programação, incluindo C ++, Java, PHP e Perl. Sua implementação é independente dos objetos que eles verificam, para que possam verificar qualquer tipo de um grupo de objetos.
Viajar por um grupo de objetos com um iterador é geralmente chamado de iteração ou deslocamento. Na maioria das linguagens de computador, os iteradores são usados para percorrer grupos de objetos relacionados chamados coleções. Suas implementações são muito flexíveis e podem ser usadas com coleções de qualquer tamanho. Eles são, em geral, mais seguros que o acesso simples a elementos em uma coleção, porque seu intervalo é restrito aos elementos na coleção. Embora ainda seja possível acessar um índice fora dos limites, não é provável que o iterador seja usado corretamente.
Os iteradores são definidos, inicializados e manipulados na memória de maneira diferente, dependendo do idioma do computador em que são usados. A sintaxe geral para eles, por outro lado, é semelhante na maioria dos idiomas. Existem dois tipos diferentes de sintaxe que podem ser usados para iteradores, definidos como explícitos ou implícitos.
Os iteradores explícitos envolvem a criação de um objeto iterador, e esse objeto é usado em um loop transversal sobre os elementos de uma coleção. Os iteradores implícitos envolvem um tipo especial de estrutura de loop que cria o objeto iterador sem que seja especificado previamente. Se os iteradores explícitos ou implícitos são ou não usados para qualquer passagem específica, geralmente depende da preferência do programador, pois as diferenças na quantidade de código ou no desempenho entre eles são desprezíveis. A maior diferença entre iteradores explícitos e implícitos é que os iteradores explícitos mostram a criação de um iterador no código-fonte, enquanto os iteradores implícitos não mostram isso.
Sempre que uma coleção de objetos estiver disponível, um iterador pode ser usado para varrê-los. Dependendo dos recursos de uma linguagem de computador, os iteradores podem ser usados em matrizes, mapas, listas e em vários outros tipos de coleção. Os iteradores são um recurso relativamente onipresente das linguagens de programação, e as linguagens mais comuns têm algum tipo de funcionalidade disponível. Algumas linguagens de computador permitem iteradores com recursos adicionais, como restrições no número de vezes que um elemento é acessado. Como esses recursos não são universais, às vezes existem maneiras pelas quais eles podem ser implementados independentemente dos próprios iteradores.