Java 数组List listIterator()方法及示例
listIterator()
java.util.ArrayList 类的 listIterator() 方法是用来返回这个列表中的元素的一个列表迭代器(按适当的顺序)。返回的列表迭代器是快速失效的。
语法
public ListIterator listIterator()
返回值: 该方法返回该列表中的元素的一个 列表迭代器 (按适当的顺序)。
下面是说明 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 ArrayList<Integer>
ArrayList<String>
arrlist = new ArrayList<String>();
// adding element to arrlist
arrlist.add("A");
arrlist.add("B");
arrlist.add("C");
arrlist.add("D");
// print arrlist
System.out.println("ArrayList: "
+ arrlist);
// Creating object of ListIterator<String>
// using listIterator() method
ListIterator<String>
iterator = arrlist.listIterator();
// Printing the iterated value
System.out.println("\nUsing ListIterator:\n");
while (iterator.hasNext()) {
System.out.println("Value is : "
+ iterator.next());
}
}
catch (NullPointerException e) {
System.out.println("Exception thrown : " + e);
}
}
}
输出。
ArrayList: [A, B, C, D]
Using ListIterator:
Value is : A
Value is : B
Value is : C
Value is : D
listIterator(int index)
这个方法用来返回一个列表中的元素的迭代器(按适当的顺序),从列表中的指定位置开始。指定的索引表示第一个元素,它将被初始化的调用 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 ArrayList<Integer>
ArrayList<String> arrlist = new ArrayList<String>();
// adding element to arrlist
arrlist.add("A");
arrlist.add("B");
arrlist.add("C");
arrlist.add("D");
// print arrlist
System.out.println("ArrayList: "
+ arrlist);
// getting iterated value starting from index 2
// using listIterator() method
ListIterator<String>
iterator = arrlist.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);
}
}
}
输出。
ArrayList: [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 ArrayList<Integer>
ArrayList<String>
arrlist = new ArrayList<String>();
// adding element to arrlist
arrlist.add("A");
arrlist.add("B");
arrlist.add("C");
arrlist.add("D");
// print arrlist
System.out.println("ArrayList: "
+ arrlist);
System.out.println("Size of ArrayList: "
+ arrlist.size());
// Get ListIterator from index 7
// using listIterator() method
System.out.println("Trying to getListIterator"
+ " from index 7\n");
ListIterator<String>
iterator = arrlist.listIterator(7);
}
catch (IndexOutOfBoundsException e) {
System.out.println("Exception thrown : " + e);
}
}
}
输出。
ArrayList: [A, B, C, D]
Size of ArrayList: 4
Trying to getListIterator from index 7
Exception thrown : java.lang.IndexOutOfBoundsException: Index: 7
极客教程