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