El método listIterator(int) de Stack Class se usa para devolver un iterador de lista sobre los elementos de esta lista (en la secuencia adecuada), comenzando en la posición especificada en la lista. El índice especificado indica el primer elemento que devolvería una llamada inicial a next. Una llamada inicial a anterior devolvería el elemento con el índice especificado menos uno. El iterador de lista devuelto es a prueba de fallas.
Sintaxis:
public ListIterator listIterator(int index)
Parámetros: este método toma el índice del primer elemento como un parámetro que devolverá el iterador de la lista (mediante una llamada a next)
Valor de retorno: este método devuelve un iterador de lista sobre los elementos de esta lista (en la secuencia adecuada), comenzando en la posición especificada en la lista.
Excepción: este método genera una excepción IndexOutOfBoundsException si el índice está fuera de rango (tamaño del índice()).
A continuación se muestran los ejemplos para ilustrar el método listIterator() .
Ejemplo 1:
// Java program to demonstrate // listIterator() method // for String value import java.util.*; public class GFG1 { public static void main(String[] argv) throws Exception { try { // Creating object of Stack<Integer> Stack<String> stack = new Stack<String>(); // adding element to stack stack.add("A"); stack.add("B"); stack.add("C"); stack.add("D"); // print stack System.out.println("Stack: " + stack); // getting iterated value starting from index 2 // using listIterator() method ListIterator<String> iterator = stack.listIterator(2); // Printing the iterated value System.out.println("\nUsing ListIterator" + " from Index 2:\n"); while (iterator.hasNext()) { System.out.println("Value is : " + iterator.next()); } } catch (IndexOutOfBoundsException e) { System.out.println("Exception thrown : " + e); } } }
Stack: [A, B, C, D] Using ListIterator from Index 2: Value is : C Value is : D
Ejemplo 2: para IndexOutOfBoundsException
// Java program to demonstrate // listIterator() method // for IndexOutOfBoundsException import java.util.*; public class GFG1 { public static void main(String[] argv) throws Exception { try { // Creating object of Stack<Integer> Stack<String> stack = new Stack<String>(); // adding element to stack stack.add("A"); stack.add("B"); stack.add("C"); stack.add("D"); // print stack System.out.println("Stack: " + stack); System.out.println("Size of Stack: " + stack.size()); // Get ListIterator from index 7 // using listIterator() method System.out.println("Trying to getListIterator" + " from index 7\n"); ListIterator<String> iterator = stack.listIterator(7); } catch (IndexOutOfBoundsException e) { System.out.println("Exception thrown : " + e); } } }
Stack: [A, B, C, D] Size of Stack: 4 Trying to getListIterator from index 7 Exception thrown : java.lang.IndexOutOfBoundsException: Index: 7