Este método devuelve un iterador de lista sobre los elementos de un objeto Vector en la secuencia adecuada. Es bidireccional, por lo que es posible realizar un recorrido tanto hacia adelante como hacia atrás, utilizando next() y previous() respectivamente. El iterador así devuelto es a prueba de fallas . Esto significa que la modificación estructural del vector después de que se crea el iterador, de cualquier forma que no sea a través de los propios métodos remove o add del iterador (usando Vector .add(), por ejemplo), hará que el iterador arroje ConcurrentModificationException .
Sintaxis:
public ListIterator listIterator()
Parámetros: este método no acepta argumentos de entrada.
Valor devuelto: este método devuelve un objeto ListIterator que se puede usar para atravesar el objeto Vector.
Ejemplo 1: para demostrar el recorrido hacia adelante y hacia atrás usando listIterator().
// Java code to illustrate listIterator() import java.util.Vector; import java.util.ListIterator; public class GFG { public static void main(String[] args) { // Declare empty vector Vector<String> vt = new Vector<String>(); vt.add("Geeks"); vt.add("for"); vt.add("Geeks"); vt.add("2019"); vt.add("AComputerSciencePortalForGeeks"); // Declare list iterator ListIterator listItr = vt.listIterator(); // Forward iterations System.out.println("Forward Traversal:"); while (listItr.hasNext()) { System.out.println(listItr.next()); } // Backward iterations System.out.println("\nBackward Traversal:"); while (listItr.hasPrevious()) { System.out.println(listItr.previous()); } } }
Forward Traversal: Geeks for Geeks 2019 AComputerSciencePortalForGeeks Backward Traversal: AComputerSciencePortalForGeeks 2019 Geeks for Geeks
Este método se usa para devolver un iterador de lista especificando el índice inicial. También bidireccional y a prueba de fallos.
Sintaxis:
public ListIterator listIterator(int index)
Parámetros: el índice del parámetro es un valor de tipo entero que especifica el primer elemento que devolverá el iterador de la lista (mediante una llamada a next() ).
Valor devuelto: este método devuelve un objeto ListIterator que se puede usar para atravesar el objeto Vector.
Excepción: este método lanza IndexOutOfBoundsException , si el índice está fuera de rango (índice < 0 o índice > tamaño())
Ejemplo 2: Para demostrar listIterator(int index).
// Java code to illustrate listIterator(int index) import java.util.Vector; import java.util.ListIterator; public class GFG { public static void main(String[] args) { // Declare empty vector Vector<String> vt = new Vector<String>(); vt.add("Geeks"); vt.add("for"); vt.add("Geeks"); // Declare list iterator ListIterator listItr = vt.listIterator(1); // traversal while (listItr.hasNext()) { System.out.println(listItr.next()); } } }
for Geeks
Ejemplo 3: Para demostrar IndexOutOfBoundsException lanzada por listIterator(int index).
// Java code to illustrate IndexOutOfBoundsException // thrown by listIterator(int index) import java.util.Vector; import java.util.ListIterator; public class GFG { public static void main(String[] args) { // Declare empty vector Vector<String> vt = new Vector<String>(); vt.add("Geeks"); vt.add("for"); vt.add("Geeks"); // Declare list iterator at starting // index greater than vector size try { ListIterator listItr = vt.listIterator(5); } catch (IndexOutOfBoundsException e) { // Exception handling System.out.println("Exception: " + e); } } }
Exception: java.lang.IndexOutOfBoundsException: Index: 5
Ejemplo 4: para demostrar ConcurrentModificationException lanzada por el objeto ListIterator cuando el objeto Vector se modifica después de crear un iterador de lista para él.
// Java code to illustrate ConcurrentModificationException // thrown by ListIterator object import java.util.ConcurrentModificationException; import java.util.Vector; import java.util.ListIterator; public class GFG { public static void main(String[] args) { // Declare empty vector Vector<String> vt = new Vector<String>(); vt.add("Geeks"); vt.add("for"); // Declare list iterator ListIterator listItr = vt.listIterator(); // modify vector after creating list iterator vt.add("Geeks"); try { // Exception thrown here System.out.println(listItr.next()); } catch (ConcurrentModificationException e) { // Exception handling System.out.println("Exception: " + e); } } }
Exception: java.util.ConcurrentModificationException
Referencia:
https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html#listIterator–
Publicación traducida automáticamente
Artículo escrito por sreeragiyer y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA