Different Ways to Iterate over a List in Java

Published May 09, 2022

In Java, lists are used to keep an ordered collection of objects. In lists, duplicate elements and null elements are also allowed. Lists are part of Java. util package and inherit from the Collection interface. They preserve the order of insertion.

Lists can be iterated over in Java in several different ways. These ways include:

a)      Iterate using Loops

b)     Sream.forEach() method

c)      Iterator method

d)     Lambda expression method

e)      List iterator method

 

a)     Iterate using Loops

In this method, we can iterate through the List elements using the three loops methods:

·         Using For Loop

A loop can be used to iterate over each element. The index can be used as a loop variable.

Example

 

import java.util.ArrayList;

import java.util.List;

public class List_iterate_using_for_loop {

      public static void main(String[] args) {

        List<String> fruitList = new ArrayList<String>();

        fruitList.add("Ornages");

        fruitList.add("berries");

        fruitList.add("Kiwi");

        fruitList.add("mangoes");

        for (int i = 0; i < fruitList.size(); i++) {

            System.out.println(fruitList.get(i));

        }

      }

}

 

Output

Ornages

berries

Kiwi

mangoes

 

Using For-each loop

You can access each element through the iteration of an enhanced for loop.

 

Example

import java.util.ArrayList;

import java.util.List;

public class List_iteration_using_enhanced_loop {

      public static void main(String[] args) {

        List<String> fruitList = new ArrayList<String>();

        fruitList.add("Ornages");

        fruitList.add("berries");

        fruitList.add("Kiwi");

        fruitList.add("mangoes");

        for (String i : fruitList) {

            System.out.println(i);

        }

      }

}

 

Output:

Ornages

berries

Kiwi

mangoes

 

 Using While loop

A while loop can also be used to iterate over a list. In this case, the code in the loop is executed until the condition is met. You can access each element using a loop variable.

 

Example

import java.util.ArrayList;

import java.util.List;

public class List_iteration_using_while_loop {

      public static void main(String[] args) {

        List<String> fruitList = new ArrayList<String>();

        fruitList.add("Ornages");

        fruitList.add("berries");

        fruitList.add("Kiwi");

        fruitList.add("mangoes");

        int i = 0;

        while (i < fruitList.size()) {

 

            System.out.println(fruitList.get(i));

            i++;

        }

      }

}

 

Output

Ornages

berries

Kiwi

mangoes

 

 

Sream.forEach() method

Stream().forEach() makes it difficult to determine the order of the processing while forEach() does. Both methods can be used to loop over a List.

Example

import java.util.ArrayList;

import java.util.List;

public class Sream_forEach_method {

      public static void main(String[] args) {

        List<String> veggiesList = new ArrayList<String>();

        veggiesList.add("Potatoes");

        veggiesList.add("Tomatoes");

        veggiesList.add("Cabbages");

        veggiesList.add("Carrots");

        veggiesList.stream().forEach(

            (temp) -> System.out.println(temp));

      }

}

 

Output

Potatoes

Tomatoes

Cabbages

Carrots

 

Iterator method

With this method, each element of the list can be accessed with an iterator and while loop.

Example

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

public class Iterate_list_using_iterator_method {

      public static void main(String[] args) {

        List<String> IList = new ArrayList<String>();

        IList.add("Mazda");

        IList.add("Nissan");

        IList.add("Honda");

        IList.add("Toyota");

        //Our Iterator

        Iterator<String> it = IList.iterator();

        while (it.hasNext()) {

            System.out.println(it.next());

        }

      }

 

}

 

Output

Mazda

Nissan

Honda

Toyota

 

Lambda expression method

In this method iteration can be accomplished with lambda expressions.

Example

 

import java.util.ArrayList;

import java.util.List;

public class Lambda_expression_method {

      public static void main(String[] args) {

        List<String> carList = new ArrayList<String>();

        carList.add("Honda");

        carList.add("Toyota");

        carList.add("Mazda");

        carList.add("Subaru");

        carList.forEach(

            (temp) -> { System.out.println(temp); });

      }

}

 

Output

Honda

Toyota

Mazda

Subaru

 

List iterator method

   We can iterate through List implemented objects one by one with this method. Using it, we can iterate through a list using a while loop. 

Example

import java.util.ArrayList;

import java.util.List;

import java.util.ListIterator;

public class List_iterator_method {

      public static void main(String[] args) {

        List<String> carList = new ArrayList<String>();

        carList.add("Nissan");

        carList.add("Subaru");

        carList.add("Honda");

        carList.add("Mazda");

        ListIterator<String> it = carList.listIterator();

        while (it.hasNext()) {

            System.out.println(it.next());

        }

      }

}

 

Output

Nissan

Subaru

Honda

Mazda

 

Conclusion

In this article, we discussed different ways to iterate over a list of elements in Java. Among these were the for loop, enhanced for loop, iterators, list iterators, and forEach() methods

 

KeyWords: Iterate list in Java

 

Article Contributed By :
https://www.rrtutors.com/site_assets/profile/assets/img/avataaars.svg

176 Views