Java ArrayList listIterator()、listIterator(int index)方法使用和注意事项

Java ArrayList中的listIterator()方法返回一个ListIterator对象,该对象可以用于遍历列表中的元素。以下是listIterator()方法的使用示例:

ArrayList<String> myArrayList = new ArrayList<>();
myArrayList.add("apple");
myArrayList.add("banana");
myArrayList.add("cherry");

ListIterator<String> iterator = myArrayList.listIterator();
while (iterator.hasNext()) {
    System.out.println(iterator.next());
}

在上面的示例中,我们创建了一个ArrayList对象,并使用add()方法向列表中添加了三个元素。然后,我们使用listIterator()方法获取了一个ListIterator对象,并使用while循环遍历了列表中的所有元素。

需要注意的是,ListIterator对象可以在遍历列表时修改列表中的元素。但是,如果在遍历列表时修改了列表的结构(例如添加或删除元素),则会抛出ConcurrentModificationException异常。

Java ArrayList中的listIterator(int index)方法返回一个ListIterator对象,该对象从指定位置开始遍历列表中的元素。以下是listIterator(int index)方法的使用示例:

ArrayList<String> myArrayList = new ArrayList<>();
myArrayList.add("apple");
myArrayList.add("banana");
myArrayList.add("cherry");

ListIterator<String> iterator = myArrayList.listIterator(1);
while (iterator.hasNext()) {
    System.out.println(iterator.next());
}

在上面的示例中,我们创建了一个ArrayList对象,并使用add()方法向列表中添加了三个元素。然后,我们使用listIterator(int index)方法获取了一个ListIterator对象,并使用while循环从列表的第二个元素开始遍历了列表中的所有元素。

需要注意的是,ListIterator对象可以在遍历列表时修改列表中的元素。但是,如果在遍历列表时修改了列表的结构(例如添加或删除元素),则会抛出ConcurrentModificationException异常。此外,如果指定的索引超出了列表的范围,则会抛出IndexOutOfBoundsException异常。