English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de Java

Control de flujo de Java

Java Array

Java Orientado a Objetos (I)

Java Orientado a Objetos (II)

Java Orientado a Objetos (III)

Manejo de excepciones en Java

Java Lista (List)

Java Queue (cola)

Conjuntos Map de Java

Conjuntos Set de Java

Java Entrada/Salida (I/O)

Reader de Java/Writer

Temas de Java

Java Iterator interfaz

En este tutorial, aprenderemos el interfaz Iterator de Java a través de un ejemplo.

La interfaz Iterator del framework de colecciones de Java nos permite acceder a los elementos de la colección. Tiene una subinterfaz ListIterator.

Todos los conjuntos de Java contienen un método iterator(). Este método devuelve una instancia de iterador utilizada para iterar sobre los elementos de la colección.

Métodos del iterador

La interfaz Iterator proporciona4Este método, que se puede usar para realizar varias operaciones en los elementos de la colección.

  • hasNext() - Devolver true si existe un elemento en la colección

  • next() - Devolver el siguiente elemento de la colección

  • remove() -Eliminar el último elemento devuelto por next()

  • forEachRemaining() - Ejecutar la operación específica para cada elemento restante de la colección

Ejemplo: Implementación del iterador

En el siguiente ejemplo, hemos implementado los métodos hasNext(), next(), remove() y forEachRemaining() de la interfaz Iterator en una lista de array.

import java.util.ArrayList;
import java.util.Iterator;
class Main {
    public static void main(String[] args) {
        //Creación de una ArrayList
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(3);
        numbers.add(2);
        System.out.println("ArrayList: "} + numbers);
        //Creación de una instancia de Iterator
        Iterator<Integer> iterate = numbers.iterator();
        //Uso del método next()
        int number = iterate.next();
        System.out.println("Acceder al elemento: "} + number);
        //Usando el método remove()
        iterate.remove();
        System.out.println("Eliminar elemento: "); + number);
        System.out.print("ArrayList actualizada: ");
        //Usando el método hasNext()
        while (iterate.hasNext()) {
            //Usando el método forEachRemaining()
            iterate.forEachRemaining((value -> System.out.print(value + ", "));
        }
    }
}

Resultados de salida

ArrayList: [1, 3, 2]
Acceder al elemento: 1
Eliminar elemento: 1
ArrayList actualizada: 3, 2,

En el ejemplo anterior, note las siguientes declaraciones:

iterate.forEachRemaining((value -> System.put.print(value + ", "));

Aquí, haremosexpresión lambdacomo parámetro para el método forEachRemaining().

Ahora, este método imprimirá todos los elementos restantes de la lista de arrays.