Java CopyOnWriteArrayList listIterator()方法

Java CopyOnWriteArrayList listIterator()方法

CopyOnWriteArrayListlistIterator() 方法以适当的顺序返回该列表中元素的listIterator。listIterator不支持remove、set或add方法。

语法

public ListIterator listIterator()

参数: 该函数不接受任何参数。

返回值: 该函数返回一个列表中的元素的迭代器(按适当的顺序)。

下面的程序说明了上述函数。

程序1 :

// Java Program to illustrate the CopyOnWriteArrayList
// listIterator() method in Java
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.*;
 
public class GFG {
    public static void main(String[] args)
    {
 
        // create object of CopyOnWriteArrayList
        CopyOnWriteArrayList<Integer> ArrLis
            = new CopyOnWriteArrayList<Integer>();
 
        // Add elements
        ArrLis.add(32);
        ArrLis.add(67);
        ArrLis.add(67);
        ArrLis.add(100);
 
        // print CopyOnWriteArrayList
        System.out.println("CopyOnWriteArrayList: " + ArrLis);
 
        // Call listIterator() method of
        Iterator iteratorVals = ArrLis.listIterator();
 
        // Print elements of iterator
        // created from CopyOnWriteArrayList
        System.out.println("The iterator values"
                           + " of CopyOnWriteArrayList are:");
 
        // prints the elements using an iterator
        while (iteratorVals.hasNext()) {
            System.out.println(iteratorVals.next());
        }
    }
}

输出

CopyOnWriteArrayList: [32, 67, 67, 100]
The iterator values of CopyOnWriteArrayList are:
32
67
67
100

CopyOnWriteArrayListlistIterator(index) 方法返回一个listIterator,它以适当的顺序从一个特定的索引开始覆盖这个列表中的元素。listIterator不支持remove、set或add方法。

语法

public ListIterator listIterator(int index)

参数: 该函数接受一个参数index,该参数指定从列表迭代器返回的第一个元素的索引。

返回值: 该函数返回一个从指定索引开始的列表中的元素的迭代器(按正确顺序)。

异常情况: 如果索引超出范围,该函数会抛出IndexOutOfBoundsException。

下面的程序说明了上述函数。

程序1 :

// Java Program to illustrate the CopyOnWriteArrayList
// listIterator() method in Java
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.*;
 
public class GFG {
    public static void main(String[] args)
    {
 
        // create object of CopyOnWriteArrayList
        CopyOnWriteArrayList<String> ArrLis
            = new CopyOnWriteArrayList<String>();
 
        // Add elements
        ArrLis.add("gopal");
        ArrLis.add("gfg");
        ArrLis.add("jgec");
        ArrLis.add("sudo");
 
        // print CopyOnWriteArrayList
        System.out.println("CopyOnWriteArrayList: " + ArrLis);
 
        // Call listIterator() method from 2nd index
        Iterator iteratorVals = ArrLis.listIterator(2);
 
        // Print elements of iterator
        // created from CopyOnWriteArrayList
        System.out.println("The iterator values"
                           + " of CopyOnWriteArrayList are:");
 
        // prints the elements using an iterator
        while (iteratorVals.hasNext()) {
            System.out.println(iteratorVals.next());
        }
    }
}

输出

CopyOnWriteArrayList: [gopal, gfg, jgec, sudo]
The iterator values of CopyOnWriteArrayList are:
jgec
sudo

程序2 :

// Java Program to illustrate the CopyOnWriteArrayList
// listIterator() method in Java, exception
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.*;
 
public class GFG {
    public static void main(String[] args)
    {
 
        // create object of CopyOnWriteArrayList
        CopyOnWriteArrayList<String> ArrLis
            = new CopyOnWriteArrayList<String>();
 
        // Add elements
        ArrLis.add("gopal");
        ArrLis.add("gfg");
        ArrLis.add("jgec");
        ArrLis.add("sudo");
 
        // print CopyOnWriteArrayList
        System.out.println("CopyOnWriteArrayList: " + ArrLis);
 
        // Call listIterator() method from 6th index
        // hence exception is returned
        Iterator iteratorVals = ArrLis.listIterator(6);
 
        // Print elements of iterator
        // created from CopyOnWriteArrayList
        System.out.println("The iterator values"
                           + " of CopyOnWriteArrayList are:");
 
        // prints the elements using an iterator
        while (iteratorVals.hasNext()) {
            System.out.println(iteratorVals.next());
        }
    }
}

输出

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 6
    at java.util.concurrent.CopyOnWriteArrayList.listIterator(CopyOnWriteArrayList.java:1107)
    at GFG.main(GFG.java:25)

参考资料: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CopyOnWriteArrayList.html#listIterator-

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程