Java Stack listIterator(int)方法及示例

Java Stack listIterator(int)方法及示例

Stack类的listIterator(int)方法用于返回一个列表中的元素的迭代器(按适当的顺序),从列表中的指定位置开始。指定的索引表示第一个元素,它将被初始化的调用Next返回。对 previous 的初始调用将返回指定索引减去 1 的元素。返回的列表迭代器是快速失效的。

语法

public ListIterator listIterator(int index)

参数: 该方法将第一个元素的索引作为参数,从列表迭代器中返回(通过调用 next)。

返回值: 这个方法返回一个在这个列表中的元素的列表迭代器(按适当的顺序),从列表中的指定位置开始。

异常: 如果索引超出范围(index size()),该方法会抛出 IndexOutOfBoundsException

下面是说明 listIterator() 方法的例子。

例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

例2: 对于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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程