Open In App

Iterate List in Java using Loops

Last Updated : 21 Jun, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

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 containing 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: ");
 
        // Initially loop variable is initialized
        // with zero
        int i = 0;
 
        // Iterating over List via while loop
        // using size() method
        while (i < my_list.size()) {
 
            // Print and display all elements
            // of an ArrayList
            System.out.print(my_list.get(i) + " ");
 
            // Incrementing the counter 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 variable 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:     ");
 
        // Iterating 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 input 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  Integer entries
        List<Integer> my_list
            = Arrays.asList(10, 20, 30, 40, 50);
 
        // Display message
        System.out.print("Iterating over ArrayList: ");
 
        // Traversing over ArrayList
        // 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 

 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads