Interfaz Java ListIterator

Tabla de contenido

En este tutorial, aprenderemos sobre la interfaz Java ListIterator con la ayuda de un ejemplo.

La ListIteratorinterfaz del marco de colecciones de Java proporciona la funcionalidad para acceder a elementos de una lista.

Es bidireccional. Esto significa que nos permite iterar elementos de una lista en ambas direcciones.

Extiende la Iteratorinterfaz.

La Listinterfaz proporciona un listIterator()método que devuelve una instancia de la ListIteratorinterfaz.

Métodos de ListIterator

La ListIteratorinterfaz proporciona métodos que se pueden utilizar para realizar varias operaciones en los elementos de una lista.

  • hasNext() - devuelve verdadero si existe un elemento en la lista
  • next() - devuelve el siguiente elemento de la lista
  • nextIndex()devuelve el índice del elemento que next()devolverá el método
  • previous() - devuelve el elemento anterior de la lista
  • previousIndex()- devuelve el índice del elemento que previous()devolverá el método
  • remove()- elimina el elemento devuelto por next()oprevious()
  • set()- reemplaza el elemento devuelto por next()o previous()con el elemento especificado

Ejemplo 1: implementación de ListIterator

En el siguiente ejemplo, hemos implementado los métodos next(), nextIndex()y hasNext()de la ListIteratorinterfaz en una lista de arreglos.

 import java.util.ArrayList; import java.util.ListIterator; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); // Creating an instance of ListIterator ListIterator iterate = numbers.listIterator(); // Using the next() method int number1 = iterate.next(); System.out.println("Next Element: " + number1); // Using the nextIndex() int index1 = iterate.nextIndex(); System.out.println("Position of Next Element: " + index1); // Using the hasNext() method System.out.println("Is there any next element? " + iterate.hasNext()); ) ) 

Salida

ArrayList: (1, 3, 2) Siguiente elemento: 1 Posición del siguiente elemento: 1 ¿Hay algún elemento siguiente? cierto

Ejemplo 2: implementación de ListIterator

En el siguiente ejemplo, hemos implementado los métodos previous()y previousIndex()de la ListIteratorinterfaz en una lista de arreglos.

 import java.util.ArrayList; import java.util.ListIterator; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); // Creating an instance of ListIterator ListIterator iterate = numbers.listIterator(); iterate.next(); iterate.next(); // Using the previous() method int number1 = iterate.previous(); System.out.println("Previous Element: " + number1); // Using the previousIndex() int index1 = iterate.previousIndex(); System.out.println("Position of the Previous element: " + index1); ) ) 

Salida

 ArrayList: (1, 3, 2) Elemento anterior: 3 Posición del elemento anterior: 0 

En el ejemplo anterior, inicialmente, la instancia de Iteratorestaba antes de 1. Como no había ningún elemento antes de 1, llamar al previous()método arrojará una excepción.

Luego usamos los next()métodos 2 veces. Ahora la Iteratorinstancia estará entre 3 y 2.

Por tanto, el previous()método devuelve 3.

Articulos interesantes...