Java ArrayList listIterator() Method



Description

The Java ArrayList listIterator() method returns an list iterator over the elements in this list in proper sequence. The list iterator is fail-fast means after creation of iterator, any structural modification done to arrayList object without using iterator.add() or remove() method will lead to ConcurrentModificationException.

Declaration

Following is the declaration for java.util.ArrayList.listIterator() method

public ListIterator<E> listIterator()

Parameters

NA

Return Value

This method returns an iterator over the elements in this list in proper sequence.

Exception

NA

Java ArrayList listIterator(index) Method

Description

The Java ArrayList listIterator(index) method returns an list iterator over the elements in this list, starting at specified point. The specified index indicates the first element to be returned by an initial call to next. An initial call to previous returns the element with the specified index minus one. The list iterator is fail-fast means after creation of iterator, any structural modification done to arrayList object without using iterator.add() or remove() method will lead to ConcurrentModificationException.

Declaration

Following is the declaration for java.util.ArrayList.listIterator() method

public ListIterator<E> listIterator(index)

Parameters

index − index of the first element to be returned from the list iterator (by a call to next)

Return Value

This method returns an iterator over the elements in this list in proper sequence, starting at the specified position in the list.

Exception

IndexOutOfBoundsException − if the index is out of range (index < 0 || index > size())

Getting ListIterator from an ArrayList of Integers Example

The following example shows the usage of Java ArrayList iterator() method. We're creating a ArrayList of Integers. We're adding couple of Integers to the ArrayList object using add() method calls per element and using iterator() method, we're iterating the list and print all the elements.

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.ListIterator;

public class ArrayListDemo {
   public static void main(String[] args) {
      
      // create an empty array list 
      ArrayList<Integer> arrayList = new ArrayList<>();

      // use add() method to add elements in the arrayList
      arrayList.add(0);
      arrayList.add(1);
      arrayList.add(2);
      arrayList.add(3);
      arrayList.add(4);
      arrayList.add(5);
      arrayList.add(6);
	  
      ListIterator<Integer> listIterator = arrayList.listIterator();
      listIterator.forEachRemaining(i -> System.out.println(i));
   }
}

Output

Let us compile and run the above program, this will produce the following result −

0
1
2
3
4
5
6

Getting ListIterator from an ArrayList of Strings Example

The following example shows the usage of Java ArrayList iterator(index) method. We're creating a ArrayList of Strings. We're adding couple of Strings to the ArrayList object using add() method calls per element and using iterator(index) method, we're iterating the list and print all the elements starting from 3rd string.

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.ListIterator;

public class ArrayListDemo {
   public static void main(String[] args) {
      
      // create an empty array list
      ArrayList<String> arrayList = new ArrayList<>();

      // use add() method to add elements in the arrayList
      arrayList.add("A");
      arrayList.add("B");
      arrayList.add("C");
      arrayList.add("D");
      arrayList.add("E");
      arrayList.add("F");
	  
      ListIterator<String> listIterator = arrayList.listIterator(2);
      listIterator.forEachRemaining(i -> System.out.println(i));
   }
}

Output

Let us compile and run the above program, this will produce the following result −

C
D
E
F

Getting ListIterator from an ArrayList of Objects Example

The following example shows the usage of Java ArrayList listIterator() method. We're creating a ArrayList of Student objects. We're adding couple of Student objects to the ArrayList object using add() method calls per element and using listIterator() method, we're iterating the list and print all the elements.

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.ListIterator;

public class ArrayListDemo {
   public static void main(String[] args) {

      // create an empty arrayList
      ArrayList<Student> arrayList = new ArrayList<>();

      // use add() method to add elements in the arrayList
      arrayList.add(new Student(1, "Julie"));
      arrayList.add(new Student(2, "Robert"));
      arrayList.add(new Student(3, "Adam"));

      ListIterator<Student> listIterator = arrayList.listIterator();
      listIterator.forEachRemaining(i -> System.out.println(i));    
   }
}

class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
   
   @Override
   public boolean equals(Object obj) {
      Student s = (Student)obj;
      return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
   }
}

Output

Let us compile and run the above program, this will produce the following result −

[ 1, Julie ]
[ 2, Robert ]
[ 3, Adam ]
java_util_arraylist.htm
Advertisements