CopyOnWriteArrayList listIterator() method in Java

  • The listIterator() method of CopyOnWriteArrayList returns an listIterator over the elements in this list in proper sequence. The listIterator does NOT support the remove, set or add methods.

    Syntax:

    public ListIterator listIterator()

    Parameters: The function does not accept any parameters.

    Return Value: The function returns a list iterator over the elements in this list (in proper sequence)



    Below programs illustrate the above function:

    Program 1:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Java Program to illustrate the CopyOnWriteArrayList
    // iterator() 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());
            }
        }
    }

    chevron_right

    
    

    Output:

    CopyOnWriteArrayList: [32, 67, 67, 100]
    The iterator values of CopyOnWriteArrayList are:
    32
    67
    67
    100
    
  • The listIterator(index) method of CopyOnWriteArrayList returns an listIterator over the elements in this list in proper sequence starting from a particular index. The listIterator does NOT support the remove, set or add methods.

    Syntax:

    public ListIterator listIterator(int index)

    Parameters: The function accepts a parameter index which specifies the index of the first element to be returned from the list iterator.

    Return Value: The function returns a list iterator over the elements in this list starting from the specified index (in proper sequence).

    Exceptions: The function throws IndexOutOfBoundsException if the index is out of range.

    Below programs illustrate the above function:

    Program 1:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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());
            }
        }
    }

    chevron_right

    
    

    Output:

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

    Program 2:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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());
            }
        }
    }

    chevron_right

    
    

    Output:

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

Reference: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CopyOnWriteArrayList.html#listIterator–



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.