How to iterate a list in Java?


The List interface extends Collection interface and stores a sequence of elements. The List interface provides two methods to efficiently insert and remove multiple elements at an arbitrary point in the list. Unlike sets, list allows duplicate elements, allows multiple null values if null value is allowed in the list.

Java List provides two kinds of iterators using iterator() or listIterator(). First one is forward moving only while listIterator is more flexible, allows both way of navigation, backwards or forwards, allows to modify the list during iterating. In this article, we're discussing both types of iterators to iterate a list using corresponding examples.

Use Iterator

Get iterator from the list to iterate through its elements.

Iterator<Integer> iterator = list.iterator();
while(iterator.hasNext()) {
   System.out.print(iterator.next() + " ");
}

Use listIterator

Get listIterator from the list to iterate through its elements.

Iterator<Integer> iterator = list.iterator();
while(iterator.hasNext()) {
   System.out.print(iterator.next() + " ");
}

Example 1

Following is the example showing use of iterator() method to get an iterator to iterate a list −

package com.tutorialspoint;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

public class CollectionsDemo {
   public static void main(String[] args) {
      List<Integer> list = new ArrayList<>(Arrays.asList(1,2,3,4,5));
      Iterator<Integer> iterator = list.iterator();
     
      while(iterator.hasNext()) {
         System.out.print(iterator.next() + " ");
      }
   }
}

Output

This will produce the following result −

1 2 3 4 5

Example 2

Following is the example showing use of listIterator() method to get an iterator to iterate a list −

package com.tutorialspoint;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

public class CollectionsDemo {
   public static void main(String[] args) {
      List<Integer> list = new ArrayList<>(Arrays.asList(1,2,3,4,5));
      Iterator<Integer> iterator = list.listIterator();
     
      while(iterator.hasNext()) {
         System.out.print(iterator.next() + " ");
      }
   }
}

Output

This will produce the following result −

1 2 3 4 5

Updated on: 26-May-2022

265 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements