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

Tutoriales básicos de Java

Control de flujo Java

Java Arreglo

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)

Colección Map de Java

Colección Set de Java

Java Entrada/Salida(I/O)

Reader de Java/Writer

Otras temáticas de Java

Java ListIterator interfaz

En este tutorial, aprenderemos el interfaz Java ListIterator con ejemplos.

La interfaz ListIterator del marco de colecciones de Java proporciona la función de acceso a los elementos de la lista.

Es bidireccional. Esto significa que permite iterar los elementos de la lista en ambas direcciones.

Hereda la interfaz Iterator.

La interfaz List proporciona el método ListIterator() que devuelve una instancia de la interfaz ListIterator.

Métodos de ListIterator

La interfaz ListIterator proporciona métodos que se pueden usar para realizar varias operaciones en los elementos de la lista.

  • hasNext() - Devolver true si hay elementos en la lista

  • next() - Devolver el siguiente elemento de la lista

  • nextIndex() - Devolver el índice del elemento que devolverá el método next()

  • previous() - Devolver el elemento anterior de la lista

  • previousIndex()- Devolver el índice del elemento que devolverá el método previous()

  • remove()- Eliminar el elemento devuelto por next() o previous()

  • set() - Reemplazar el elemento devuelto por next() o previous() con el elemento especificado

Ejemplo1: Implementación de ListIterator

En el siguiente ejemplo, implementamos los métodos next(), nextIndex() y hasNext() de la interfaz ListIterator en una lista de arrays.

import java.util.ArrayList;
import java.util.ListIterator;
class Main {
    public static void main(String[] args) {
        //Crear una ArrayList
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(3);
        numbers.add(2);
        System.out.println("ArrayList: ", + numbers);
        //Crear una instancia de ListIterator
        ListIterator<Integer> iterate = numbers.listIterator();
        //Usar el método next()
        int number1 = iterate.next();
        System.out.println("Siguiente elemento: ", + number1);
        //Usar nextIndex()
        int index1 = iterate.nextIndex();
        System.out.println("Posición del siguiente elemento: ", + index1);
        //Usar el método hasNext()
        System.out.println("¿Hay un siguiente elemento? ", + iterate.hasNext());
    }
}

Resultados de salida

ArrayList:  [1, 3, 2]
Siguiente elemento: 1
Posición del siguiente elemento: 1
¿Hay un siguiente elemento? true

Ejemplo2: Implementación de ListIterator

En el siguiente ejemplo, implementamos los métodos previous() y previousIndex() de la interfaz ListIterator en una lista de arrays.

import java.util.ArrayList;
import java.util.ListIterator;
class Main {
    public static void main(String[] args) {
        //Crear una ArrayList
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(3);
        numbers.add(2);
        System.out.println("ArrayList: ", + numbers);
        //Crear una instancia de ListIterator
        ListIterator<Integer> iterate = numbers.listIterator();
        iterate.next();
        iterate.next();
        //Usar el método previous ()
        int number1 = iterate.previous();
        System.out.println("Elemento anterior: ") + number1);
        //Usar previousIndex ()
        int index1 = iterate.previousIndex();
        System.out.println("La posición del elemento anterior: ") + index1);
    }
}

Resultados de salida

ArrayList:  [1, 3, 2]
Elemento anterior: 3
la posición del elemento anterior: 0

En el ejemplo anterior, la instancia inicial del iterador está en1antes. Porque en1No hay elementos antes, por lo que la llamada al método previous() lanzará una excepción.

Luego, utilizamos next()2Este método. Ahora la instancia de Iterator estará en3a2entre.

Por lo tanto, el método previous() devuelve3.