Dominando la Interfaz Iterator de Java: Guía Práctica con Ejemplo de Código
Interfaz Iterator de Java
Descubre cómo la interfaz Iterator te permite navegar y manipular colecciones de Java eficientemente. Un ejemplo práctico demuestra cada método en acción.
La interfaz Iterator, parte del framework de colecciones de Java, proporciona una forma uniforme de recorrer cualquier colección. Es extendida por ListIterator para listas.
Cada clase de colección ofrece un método iterator() que retorna una instancia de Iterator, permitiendo recorrido y manipulación seguros.
Métodos de Iterator
La interfaz define cuatro métodos principales:
hasNext()– retornatruesi existen más elementos.next()– recupera el siguiente elemento.remove()– elimina el último elemento retornado pornext().forEachRemaining()– aplica una acción dada a todos los elementos restantes.
Ejemplo: Usando Iterator con ArrayList
El siguiente fragmento implementa los cuatro métodos en un ArrayList<Integer>:
import java.util.ArrayList;
import java.util.Iterator;
class Main {
public static void main(String[] args) {
// Crear un ArrayList
ArrayList<Integer> numeros = new ArrayList<>();
numeros.add(1);
numeros.add(3);
numeros.add(2);
System.out.println("ArrayList: " + numeros);
// Obtener un Iterator
Iterator<Integer> iterador = numeros.iterator();
// Acceder al primer elemento
int numero = iterador.next();
System.out.println("Elemento Accedido: " + numero);
// Eliminar ese elemento
iterador.remove();
System.out.println("Elemento Eliminado: " + numero);
System.out.print("ArrayList Actualizado: ");
// Iterar sobre elementos restantes
while (iterador.hasNext()) {
iterador.forEachRemaining(valor -> System.out.print(valor + ", "));
}
}
}
Salida
ArrayList: [1, 3, 2] Elemento Accedido: 1 Elemento Eliminado: 1 ArrayList Actualizado: 3, 2,
La expresión lambda pasada a forEachRemaining() demuestra cómo el método procesa cada elemento restante de forma concisa.
Java
- Métodos en Java: Cómo Definir, Llamar y Usarlos Efectivamente
- Recursividad en Java: Entendimiento, ejemplos y compensaciones
- Dominando interfaces en Java: Conceptos, implementación y mejores prácticas
- Tipos de anotaciones en Java: Guía completa de predefinidas, personalizadas y meta‑anotaciones
- Dominando la Interfaz NavigableSet de Java: Navegación, Ordenación y Ejemplos Prácticos
- Dominando Expresiones Lambda en Java: Desde Básicos hasta Stream API
- Entendiendo Java String.charAt(): Sintaxis, tipo de retorno, excepciones y ejemplo práctico
- Sobrescritura de Métodos en Java: Personalizando el Comportamiento de la Superclase
- Entendiendo las Interfaces en Java: Definiciones, Usos y Buenas Prácticas
- Java 9 Métodos Privados en Interfaces: Mejorar Encapsulamiento y Reutilización de Código
- Dominar Referencias a Métodos en Java 8: Guía Completa