Método vector listIterator() en Java con ejemplos

java.util.Vector.listIterator()

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());
        }
    }
}
Producción:

Forward Traversal:
Geeks
for
Geeks
2019
AComputerSciencePortalForGeeks

Backward Traversal:
AComputerSciencePortalForGeeks
2019
Geeks
for
Geeks

java.util.Vector.listIterator(índice int)

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());
        }
    }
}
Producción:

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);
        }
    }
}
Producción:

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);
        }
    }
}
Producción:

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *