Java中Stack类的listIterator(int)方法示例
Stack类的listIterator(int)方法用于返回一个列表迭代器,该迭代器按正确的顺序遍历列表并从指定的位置开始。指定的索引指示第一个通过调用next返回的元素。对previous的初始调用将返回具有指定索引减一的元素。返回的列表迭代器是快速失败的。
语法:
public ListIterator listIterator(int index)
参数: 此方法将第一个元素的索引作为参数,以便从列表迭代器中返回它(通过调用next)
返回值: 该方法返回一个列表迭代器,该迭代器按正确的顺序遍历此列表,并从列表中指定的位置开始。
异常: 如果索引超出范围(索引size()),则该方法将引发IndexOutOfBoundsException。
以下是说明listIterator()方法的示例。
示例1:
//演示
//listIterator()方法
//对于String值
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
//创建Stack<Integer>对象
Stack<String> stack = new Stack<String>();
//将元素添加到栈中
stack.add("A");
stack.add("B");
stack.add("C");
stack.add("D");
//打印栈
System.out.println("Stack: "
+ stack);
//从索引2开始获取迭代的值
//使用listIterator()方法
ListIterator<String>
iterator = stack.listIterator(2);
//打印迭代的值
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程序演示
// listIterator()方法
// 用于IndexOutOfBoundsException
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
// 创建Stack<Integer>对象
Stack<String>
stack = new Stack<String>();
// 向栈中添加元素
stack.add("A");
stack.add("B");
stack.add("C");
stack.add("D");
// 打印栈
System.out.println("Stack: "
+ stack);
System.out.println("Size of Stack: "
+ stack.size());
// 获取索引7处的ListIterator
// 使用listIterator()方法
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