Java中的ArrayList listIterator()方法及示例
listIterator()
listIterator() 方法是 java.util.ArrayList 类的一个方法,用于返回此列表中元素的一个列表迭代器(按正确顺序)。返回的列表迭代器是 fail-fast 的。
语法:
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将返回的第一个元素。initial call to previous将返回指定索引减一的元素。返回的列表迭代器是fail-fast的。
语法:
public ListIterator listIterator(int index)
参数: 此方法需要一个元素的索引作为参数,该参数将从列表迭代器返回(通过调用next)。
返回值: 此方法返回此列表中元素起始于指定位置的列表迭代器(按正确顺序)。
异常: 如果索引超出范围(索引大于等于size()),则此方法会抛出 IndexOutOfBoundsException 。
以下是说明listIterator()方法的示例。
示例 1:
// Java程序演示listIterator()方法
// 用于字符串值
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
//创建ArrayList对象
ArrayList arrlist = new ArrayList();
//将元素添加到arrlist中
arrlist.add("A");
arrlist.add("B");
arrlist.add("C");
arrlist.add("D");
//输出arrlist
System.out.println("ArrayList: " + arrlist);
//使用listIterator()方法从索引2开始获取迭代值
ListIterator iterator = arrlist.listIterator(2);
//打印迭代值
System.out.println("\n从索引2使用ListIterator:\n");
while (iterator.hasNext()) {
System.out.println("Value is : " + iterator.next());
}
}
catch (IndexOutOfBoundsException e) {
System.out.println("抛出异常:" + e);
}
}
}
ArrayList: [A, B, C, D]
从索引2使用ListIterator:
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 {
//创建ArrayList对象
ArrayList arrlist = new ArrayList();
//将元素添加到arrlist中
arrlist.add("A");
arrlist.add("B");
arrlist.add("C");
arrlist.add("D");
//输出arrlist
System.out.println("ArrayList: " + arrlist);
System.out.println("ArrayList大小: " + arrlist.size());
//使用listIterator()方法从索引7开始获取ListIterator
System.out.println("尝试从索引7获取ListIterator\n");
ListIterator iterator = arrlist.listIterator(7);
}
catch (IndexOutOfBoundsException e) {
System.out.println("抛出异常:" + e);
}
}
}
ArrayList: [A, B, C, D]
ArrayList大小: 4
尝试从索引7获取ListIterator
抛出异常:java.lang.IndexOutOfBoundsException: Index: 7
极客教程