O que é um iterador de vetor?
Um iterador de vetor é um construto de linguagem de computador que permite que um programa leia os valores de dados contidos em uma coleção especializada chamada um vetor. Os vetores são objetos usados para agrupar valores de dados relacionados, semelhantes às matrizes e listas. Muitas linguagens diferentes de computador, principalmente Java e C ++, contêm vetores e seus iteradores relacionados. Cada idioma usa sintaxe diferente para os iteradores, mas o mecanismo subjacente em todos os idiomas é o acesso individual a cada membro possível do grupo vetorial. Os iteradores vetoriais também podem ser usados para identificar explicitamente um objeto específico na coleção de vetores. Quando essa identificação é realizada, o objeto é identificado por seu índice no vetor, não por quaisquer características do próprio objeto. As ações podem ser executadas no objeto se o iterador for dereferenciado, concedendo ao programa acesso explícito ao objeto e não ao vetor.
Os iteradores vetoriais têm muito pouca chance de encontrar os erros fora dos limites que podem acontecer enquanto itera as matrizes. Embora os vetores sejam essencialmente matrizes glorificadas quando desconstruídas, os vetores quase sempre têm algum tipo de verificação de limites que garante que um iterador de vetor permaneça nos índices adequados. Ao atravessar um vetor, o iterador, se chamado corretamente, sempre começa no início do vetor e termina exatamente no final. A especificação explícita de um índice incorreto ainda é possível em certos contextos, mas os limites embutidos a verificação de vetores, o que se traduz em seus iteradores, impede problemas de transbordamento de limites.
Em C ++, os vetores podem ser modificados enquanto são atravessados pelos iteradores, mas Java proíbe explicitamente que isso aconteça. As ações de Java nessa circunstância são muito mais seguras, porque mudar um vetor enquanto um iterador está se movendo em ele pode causar o iterador to lê inadvertidamente fora do vetor. Tentar adicionar ou remover itens de um vetor, enquanto a iteração é especialmente perigosa, principalmente se os índices de partida e final que o vetor deverá cobrir forem codificados. Um iterador de vetor não está equipado para lidar com mudanças repentinas nos vetores, e os vetores devem ser relativamente estáticos enquanto foram percorridos.
Um iterador de vetor pode ser implícito ou explícito, e a forma sintática executa a travessia da mesma forma. Apesar de estar codificado para a eficiência, um iterador de vetor pode ser retardado por um vetor muito grande. Nesse caso, a codificação dura do índice final do vetor acelera as travessias. Esse problema não ocorre com pequenos vetores; portanto, codificar o índice final não causa uma aceleração apreciável. Codificação dura O índice final pode aumentar o risco de transbordamento; portanto, em geral, deve ser feito com moderação.