DEV Community

Cover image for Iterators in JAVA
Mohammed Shaikh
Mohammed Shaikh

Posted on

Iterators in JAVA

Intro

When I was going through and learning Java. I wished there was a collection of docs that was written that explains Java topics simply.

Iterating through arrays

  • For Loop:

  • This is the standard for-loop. This is in a lot of different languages as well
    int[] myArray = {1, 2, 3, 4, 5};
    for (int i = 0; i < myArray.length; i++) {
        System.out.println(myArray[i]); // logic to log element
    } 
    
    Enter fullscreen mode Exit fullscreen mode
  • Enhanced For Loop (for-each):

  • A more concise way to iterate through an array, especially beneficial when you don't need the index.
    int[] myArray = {1, 2, 3, 4, 5};
    for (int element : myArray) {
        System.out.println(element);
    }
    
    Enter fullscreen mode Exit fullscreen mode
  • Arrays.stream:

  • The Streams API introduced in Java 8 offers a functional approach to array iteration.
    int[] myArray = {1, 2, 3, 4, 5};
    Arrays.stream(myArray).forEach(System.out::println);
    
    Enter fullscreen mode Exit fullscreen mode
  • ListIterator:

  • Ideal for iterating backward through a List, providing more control over traversal.
    List<Integer> myList = Arrays.asList(1, 2, 3, 4, 5);
    ListIterator<Integer> iterator = myList.listIterator(myList.size());
    while (iterator.hasPrevious()) {
        System.out.println(iterator.previous());
    }
    
    Enter fullscreen mode Exit fullscreen mode

    Iterating through objects

  • Using Map.Entry:

  • For iterating through key-value pairs in a Map, Map.Entry allows access to both the key and the value.
    Map<String, Integer> myMap = new HashMap<>();
    myMap.put("a", 1);
    myMap.put("b", 2);
    myMap.put("c", 3);
    
    for (Map.Entry<String, Integer> entry : myMap.entrySet()) {
        System.out.println(entry.getKey() + ": " + entry.getValue());
    }
    
    Enter fullscreen mode Exit fullscreen mode
  • Using Java Streams API:

  • Leveraging the powerful Streams API for concise and functional iteration through Map entries.
    Map<String, Integer> myMap = new HashMap<>();
    myMap.put("a", 1);
    myMap.put("b", 2);
    myMap.put("c", 3);
    
    myMap.entrySet().stream().forEach(entry -> {
        System.out.println(entry.getKey() + ": " + entry.getValue());
    });
    
    Enter fullscreen mode Exit fullscreen mode

    let us begin now giphy

    Things to look out for

  • Immutable vs Mutable List

  • Understanding the distinction between immutable and mutable lists is crucial. An immutable list cannot be modified after creation, while a mutable list allows changes. Consider your use case and requirements when choosing between them.


    Thank you for reading! I hope this information proves helpful.

    AWS GenAI LIVE image

    How is generative AI increasing efficiency?

    Join AWS GenAI LIVE! to find out how gen AI is reshaping productivity, streamlining processes, and driving innovation.

    Learn more

    Top comments (0)

    AWS GenAI LIVE image

    Real challenges. Real solutions. Real talk.

    From technical discussions to philosophical debates, AWS and AWS Partners examine the impact and evolution of gen AI.

    Learn more

    👋 Kindness is contagious

    Please leave a ❤️ or a friendly comment on this post if you found it helpful!

    Okay