How to iterate a Java List?



The List interface is a member of Java Collections Framework. It extends Collection and stores a sequence of elements. ArrayList and LinkedList are the most commonly used implementations of List interface. List provides user a precise control over where an element to be inserted in the List. These elements can be accessed by their index and are searchable.

There are multiple ways to iterate a Java List. In this article, we're going to cover most common ways to iterate a list and their corresponding examples.

Way #1

Use for/while loop to iterate a List and get element by index.

for(int i= 0; i < list.size(); i++) {
   System.out.println(list.get(i));
}

Way #2

Use foreach loop to iterate list of elements.

for (Integer integer : list) {
   System.out.print(integer + " ");
}

Way #3

Use iterator from the list to iterate through its elements.

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

Way #4

Use listIterator from the list to iterate through its elements.

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

Way #5

Use forEach of the list to iterate through its elements.

list.forEach(i -> {System.out.print(i + " ");});

Way #6

Use forEach of the stream of list to iterate through its elements.

list.stream().forEach(i -> {System.out.print(i + " ");});

Example 1

Following is the example showing for and foreach loop methods to iterate a list −

package com.tutorialspoint;
import java.util.ArrayList;
import java.util.Arrays;
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));
      for(int i= 0; i< list.size(); i++) {
         System.out.print(list.get(i) + " ");
      }
     
      System.out.println();
      for (Integer integer : list) {
         System.out.print(integer + " ");
      }
   }
}

Output

This will produce the following result −

1 2 3 4 5
1 2 3 4 5

Example 2

Following is the example showing iterator, listIterator and streams 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() + " ");
      }
     
      System.out.println();
      list.forEach(i -> {System.out.print(i + " ");});
      System.out.println();
      list.stream().forEach(i -> {System.out.print(i + " ");});
   }
}

Output

This will produce the following result −

1 2 3 4 5
1 2 3 4 5
1 2 3 4 5

Advertisements