Different ways to iterate over Collections in Java

Below examples uses different techniques to iterate over java collections. Use what’s suitable and easy for you in any situation.

  1. Iterable.forEach method (Java 8)

    Recently introduced in java 8, This method can be called on any Iterable and takes one argument implementing the functional interface java.util.function.Consumer. e.g.

    Collection<String> collection = Arrays.asList("How", "To", "Iterate", "In", "Java");
    collection.forEach(s -> System.out.println(s));

    The Array class does not yet implement Iterable, so you cannot use this technique directly on arrays.
  2. Java “foreach” loop (Java 5)

    The “foreach” loop syntax is:

    for (Type var : Iterable<Type>) {
            // do something with "var"


    Collection<String> collection = Arrays.asList("How", "To", "Iterate", "In", "Java");
    for(String s : collection) {
  3. java.util.Iterator (Java 2)

    Using Iterator is still very popular way to iterate over collections, mainly due to addtional methods it provide to manipulate the collection elements.

    Collection<String> collection = Arrays.asList("How", "To", "Iterate", "In", "Java");
    Iterator<String> itr = collection.iterator();
    while(itr.hasNext()) {
  4. Traditional for loop

    This is most appropriate when dealing with indexed collections such as list. It uses the standard for loop invented in the early 1970s in the C language. The loop syntax is:

    for (init; test; change) {
            // do something


    List<String> list = Arrays.asList("How", "To", "Iterate", "In", "Java");
    for( int i=0; i < list.size(); i++ )

Happy Learning !!


For each loop

Was this post helpful?

Join 7000+ Fellow Programmers

Subscribe to get new post notifications, industry updates, best practices, and much more. Directly into your inbox, for free.

1 thought on “Different ways to iterate over Collections in Java”

  1. Here you explained different-different ways to iterate the elements from a collection.
    this article is useful.
    thanks for this great article.


Leave a Comment


A blog about Java and its related technologies, the best practices, algorithms, interview questions, scripting languages, and Python.