Skip to content
Related Articles

Related Articles

Iterate List in Java using Loops
  • Difficulty Level : Medium
  • Last Updated : 11 Feb, 2021

In this article, we are going to see how to iterate through a List. In Java, a List is an interface of the Collection framework. List can be of various types such as ArrayList, Stack, LinkedList, and Vector. There are various ways to iterate through a java List but here we will only be discussing our traversal using loops only. So, there were standard three traversals available so do three methods do exists but with the introduction of java 8 and streams other methods do arises out. So, all the four methods are discussed below as follows:

Methods: 

  1. For loop Method
  2. While Method 
  3. For-each loop Method
  4. For-each loop of java 8 

Implementation:

Method 1: Using a for loop

 For Loop is the most common flow control loop. For loop uses a variable to iterate through the list. 



Example 

Java




// Java Program to Iterate List in java
// using for loop
// Importing all input output classes
import java.io.*;
// Importing all utility classes from
// java.util package
import java.util.*;
  
// Class
class GFG {
  
    // main driver method
    public static void main(String[] args)
    {
        // Creating an ArrayList object
        // Declaring object of Integer type
        // Custom entries in array
        List<Integer> my_list
            = Arrays.asList(10, 20, 30, 40, 50);
  
        // Display message
        System.out.print("Iterating over ArrayList: ");
  
        // Iteration over ArrayList
        // using the for loop
        for (int i = 0; i < my_list.size(); i++)
  
            // Print and display the all elements
            // in List object
            System.out.print(my_list.get(i) + " ");
  
        // new line
        System.out.println();
  
        // No, creating a vector of size N
        // Custom entry for N = 5
        // Custom Integer entries
        List<Integer> v = new Vector<Integer>(5);
        v.add(10);
        v.add(20);
        v.add(30);
        v.add(40);
        v.add(50);
  
        // Display message
        System.out.print("Iterating over Vector:    ");
  
        // iterating over vector using for loop
        for (int i = 0; i < v.size(); i++)
  
            // Print and display vector elements
            System.out.print(v.get(i) + " ");
  
        // New Line
        System.out.println();
  
        // Creating a stack containng Integer elements
        List<Integer> s = new Stack<Integer>();
  
        // Adding integer elements
        // Custom input
        s.add(10);
        s.add(20);
        s.add(30);
        s.add(40);
        s.add(50);
  
        // Display message
        System.out.print("Iterating over Stack:     ");
  
        // For loop o iterate over elements in stack
        for (int i = 0; i < v.size(); i++)
  
            // Print and display all stack elements
            System.out.print(s.get(i) + " ");
    }
}
Output
Iterating over ArrayList: 10 20 30 40 50 
Iterating over Vector:    10 20 30 40 50 
Iterating over Stack:     10 20 30 40 50 

Method 2: Using While loop

Java while loop similar to For loop is a control flow statement that allows code to run repeatedly until a desired condition is met. 

Example 

Java




// Java Program to iterate over List
// using while loop
  
// Importing all input output classes
import java.io.*;
// Importing all utility classes from
// java.util package
import java.util.*;
  
// Class
class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
        // Creating an object of List
        // Declaring object of Integer type
        // Custom Integer entries
        List<Integer> my_list
            = Arrays.asList(10, 20, 30, 40, 50);
  
        // Display message
        System.out.print("Iterating over ArrayList: ");
  
        // Initiallly loop variable is initiazlized
        // with zero
        int i = 0;
  
        // Iterating over List via while loop
        // using size() method
        while (i < my_list.size()) {
  
            // Print and dis[play all elements
            // of an ArrayList
            System.out.print(my_list.get(i) + " ");
  
            // Incrementing the countr by unity safter
            // one iteration
            i++;
        }
  
        i = 0;
  
        // New Line
        System.out.println();
  
        // Creating a Vector of size N
        // Custom value for N = 5
        List<Integer> v = new Vector<Integer>(5);
  
        // Adding 5 elements to the above List object
        // for vector
        // Custom entries
        v.add(10);
        v.add(20);
        v.add(30);
        v.add(40);
        v.add(50);
  
        // Display message
        System.out.print("Iterating over Vector:    ");
  
        // Iterating over Vector via while loop
        // using the size() method
        while (i < v.size()) {
  
            // Print and display all elements of vector
            System.out.print(v.get(i) + " ");
  
            // Increment the counter variable
            i++;
        }
  
        //  Counter varible is initially
        // initialized with zero
        i = 0;
  
        // New Line
        System.out.println();
  
        // Creating a Stack by creating another
        // list object of Integer type
        // Declaring object of Integer type
        List<Integer> s = new Stack<Integer>();
  
        // Adding elements to the above stack
        // Custom entries
        s.add(10);
        s.add(20);
        s.add(30);
        s.add(40);
        s.add(50);
  
        // Display message
        System.out.print("Iterating over Stack:     ");
  
        // Itereating over stack via while loop
        // using size method()
        while (i < v.size()) {
  
            // Print and display all elements
            // of the above stack/ obj created
            System.out.print(s.get(i) + " ");
  
            // Increment the counter by unity
            i++;
        }
    }
}
Output
Iterating over ArrayList: 10 20 30 40 50 
Iterating over Vector:    10 20 30 40 50 
Iterating over Stack:     10 20 30 40 50 

Method 3: Using for each loop

Syntax:



for (type temp : list_name) 
{  
   statements using temp;
}

Example 

Java




/*package whatever //do not write package name here */
  
import java.io.*;
import java.util.*;
class GFG {
    public static void main(String[] args)
    {
        // creating Arraylist
        List<Integer> my_list
            = Arrays.asList(10, 20, 30, 40, 50);
  
       
        System.out.print("Iterating over ArrayList: ");
         // For Each Loop for iterating ArrayList 
        for (Integer i :my_list) 
            System.out.print(i + " "); 
  
        System.out.println();
  
        // creating Vector of size 5
        List<Integer> v = new Vector<Integer>(5);
        v.add(10);
        v.add(20);
        v.add(30);
        v.add(40);
        v.add(50);
  
        System.out.print("Iterating over Vector:    ");
         // For Each Loop for iterating Vector
        for (Integer i : v) 
            System.out.print(i + " "); 
  
        System.out.println();
  
        // creating Stack
        List<Integer> s = new Stack<Integer>();
        s.add(10);
        s.add(20);
        s.add(30);
        s.add(40);
        s.add(50);
  
         
        System.out.print("Iterating over Stack:     ");
        // For Each Loop for iterating Stack 
        for (Integer i : s) 
            System.out.print(i + " "); 
    }
}
Output
Iterating over ArrayList: 10 20 30 40 50 
Iterating over Vector:    10 20 30 40 50 
Iterating over Stack:     10 20 30 40 50 

Method 4: Using for each loop of Java 8

This method takes a functional interface as a parameter therefore lambda expression can be passed as an argument.

Syntax:

void forEach(Consumer<? super T> action)

Example 

Java




// Importing all innput output classes
import java.io.*;
// Importing all classes from
// java,util package
import java.util.*;
  
// Class
class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
        // Creating an Arraylist by creating object
        // of List and declaring as Integer type
        // Custom Innteger entries
        List<Integer> my_list
            = Arrays.asList(10, 20, 30, 40, 50);
  
        // Display message
        System.out.print("Iterating over ArrayList: ");
  
        // Traversing over ArrayLis
        // using for each method Java 8
        my_list.forEach(
            list -> System.out.print(list + " "));
  
        // New line
        System.out.println();
  
        // creating Vector by creating object of
        // List and declaring as Integer type
  
        // Vector is of size N
        // N = 5 for illustration purposes
        List<Integer> v = new Vector<Integer>(5);
  
        // Adding elements to the vector
        // Custom Integer elements
        v.add(10);
        v.add(20);
        v.add(30);
        v.add(40);
        v.add(50);
  
        // Display message
        System.out.print("Iterating over Vector:    ");
  
        // Traversing the above vector elements
        // using for each method Java 8
        v.forEach(vector -> System.out.print(vector + " "));
  
        // New line
        System.out.println();
  
        // Creating a Stack by creating an object of
        // List and declaring it as of Integer type
        List<Integer> s = new Stack<Integer>();
  
        // Adding elements to the above stack created
        // Custom inputs addition using add() method
        s.add(10);
        s.add(20);
        s.add(30);
        s.add(40);
        s.add(50);
  
        // Display message
        System.out.print("Iterating over Stack:     ");
  
        // Print and display all the elements inside stack
        // using for each method Java 8
        s.forEach(stack -> System.out.print(stack + " "));
    }
}
Output
Iterating over ArrayList: 10 20 30 40 50 
Iterating over Vector:    10 20 30 40 50 
Iterating over Stack:     10 20 30 40 50 

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :