¿Qué es un iterador?
Un iterador es una construcción de lenguaje de computadora que permite que un programa lea un grupo de valores de datos o piezas de información de manera sistemática. Los iteradores también permiten el acceso individual a cada miembro del grupo, sin afectar al resto del grupo. Se utilizan en muchos lenguajes de programación y programación, incluidos C ++, Java, PHP y Perl. Su implementación es independiente de los objetos que escanean, por lo que pueden escanear cualquier tipo de grupo de objetos.
Viajar a través de un grupo de objetos con un iterador generalmente se llama iterar o atravesar. En la mayoría de los lenguajes de computadora, los iteradores se utilizan para atravesar grupos de objetos relacionados llamados colecciones. Sus implementaciones son muy flexibles y pueden usarse con colecciones de cualquier tamaño. En general, son más seguros que el simple acceso a elementos en una colección porque su rango está restringido a los elementos de la colección. Si bien todavía es posible acceder a un índice fuera de los límites, no es probable que el iterador se use correctamente.
Los iteradores se definen, inicializan y manejan en la memoria de manera diferente dependiendo del lenguaje de computadora en el que se usan. La sintaxis general para ellos, por el contrario, es similar en la mayoría de los idiomas. Hay dos tipos diferentes de sintaxis que pueden usarse para iteradores, definidos como explícitos o implícitos.
Los iteradores explícitos implican la creación de un objeto iterador, y ese objeto luego se usa en un bucle transversal sobre los elementos de una colección. Los iteradores implícitos implican un tipo especial de estructura de bucle que crea el objeto iterador sin que se especifique de antemano. Si los iteradores explícitos o implícitos se usan o no para un recorrido en particular generalmente depende de la preferencia del programador, ya que las diferencias en la cantidad de código o rendimiento entre ellos son insignificantes. La mayor diferencia entre los iteradores explícitos e implícitos es que los iteradores explícitos muestran la creación de un iterador en el código fuente, mientras que los iteradores implícitos no lo muestran.
Siempre que haya una colección de objetos disponible, se puede usar un iterador para escanearlos. Dependiendo de las capacidades de un lenguaje de computadora, los iteradores se pueden usar en matrices, mapas, listas y una variedad de otros tipos de colecciones. Los iteradores son una característica relativamente ubicua de los lenguajes de programación, y los lenguajes más comunes tienen algún tipo de funcionalidad disponible. Algunos lenguajes de computadora permiten iteradores con características adicionales, como restricciones en la cantidad de veces que se accede a un elemento. Dado que estas características no son universales, a veces hay formas en que pueden implementarse independientemente de los iteradores mismos.