Enumeración vs iterador
Hay muchas estructuras de datos que actúan como colecciones en Java, como vectores, tablas hash y clases que implementan el marco de colecciones de Java (i.mi. Hashmap, Hashset, ArrayList, Treeset, Treemap, LinkedList, Linkedhashmap y Linkedhashset). Existen numerosas formas de iterar a través de los elementos individuales de los objetos en Java. Java proporciona dos interfaces para facilitar esta tarea. La enumeración y el iterador son dos de las interfaces que se encuentran en Java.Paquete Util que proporciona funcionalidad para enumerar a través de secuencias u objetos con un conjunto de elementos. Enumerator se introdujo en JDK 1.0 y iterador que se introdujo en JDK 1.2 prácticamente duplica la funcionalidad del enumerador (dentro del marco de colecciones).
Que es la enumeración?
La enumeración es una interfaz pública en Java, introducida en JDK 1.0, que proporciona la capacidad de enumerar a través de secuencias de elementos. Se encuentra bajo Java.Paquete Util. Cuando la interfaz de enumeración es implementada por un objeto, ese objeto puede generar una secuencia de elementos. La interfaz de enumeración tiene dos métodos. El método HasmoreElements () probará si esta enumeración contiene más elementos y el nextElement () devuelve el siguiente elemento en la secuencia (si hay al menos uno más). En otras palabras, llamando sucesivamente a NextElement (), el programador puede acceder a los elementos individuales de la serie. Por ejemplo, para imprimir todos los elementos en Vector V1 usando enumerador, se puede usar el siguiente fragmento de código.
Enumeración e = v1.elementos();
Mientras (e.hasmorelements ())
Sistema.afuera.println (e.nextElement ());
El enumerador también se puede usar para definir la corriente de entrada a los objetos de secuencia de secuencia.
Que es iterador?
Iterator es una interfaz pública en Java.Paquete Util, que permite iterarse a través de elementos de los objetos de colecciones que implementan el marco de colecciones (como ArrayList, LinkedList, etc.). Esto se introdujo en JDK 1.2 y reemplazó el enumerador dentro del marco de colecciones Java. Iterator tiene tres métodos. El método hasNext () prueba si hay elementos restantes en la colección y el método siguiente () devuelve el siguiente elemento en la serie. El método remove () se puede usar para eliminar el elemento actual de la colección subyacente. Por ejemplo, para imprimir todos los elementos en Vector V1 usando Iterator, se puede usar el siguiente fragmento de código.
Iterador i = v1.elementos();
Mientras yo.HasNext ())
Sistema.afuera.println (e.próximo());
¿Cuál es la diferencia entre enumeración y iterador??
Aunque, la enumeración y el iterador son dos de las interfaces que se encuentran en Java.Paquete Util, que permite iterando/enumerando a través de elementos de una serie, tienen sus diferencias. En realidad, Iterator, que se introdujo después de la enumeración, reemplaza la enumeración dentro del marco de colecciones Java. A diferencia de la enumeración, el iterador es seguro. Esto significa que las modificaciones concurrentes (para la colección subyacente) no están permitidas cuando se usa el iterador. Esto es muy útil en entornos múltiples donde siempre existe un riesgo de modificaciones concurrentes. En el caso de una modificación concurrente, el objeto Iterator lanzará una Modificación de Excepción de Modificación Concurrente. Iterator tiene nombres de métodos más cortos en comparación con Enumerator. Además, el iterador tiene la funcionalidad adicional de eliminar elementos durante la iteración (que no es posible usar enumerador). Entonces, si es necesario eliminar elementos de la colección, Iterator es la única opción que se puede considerar.