🔥Limited Offer: Get 50% OFFon AI & Full Stack Courses🔥
Back to Java Notes
Topic #112

Java Iterator


Java Iterator

An Iterator is an object that can be used to loop through collections, like ArrayList and HashSet.

It is called an "iterator" because "iterating" is the technical term for looping.

To use an Iterator, you must import it from the java.util package.


Getting an Iterator

The iterator() method can be used to get an Iterator for any collection:

Example

// Import the ArrayList class and the Iterator class
import java.util.ArrayList;
import java.util.Iterator;

public class Main {
  public static void main(String[] args) {

    // Make a collection
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");

    // Get the iterator
    Iterator<String> it = cars.iterator();

    // Print the first item
    System.out.println(it.next());
  }
}

Looping Through a Collection

To loop through a collection, use the hasNext() and next() methods of the Iterator:

Example

while(it.hasNext()) {
  System.out.println(it.next());
}

Removing Items from a Collection

Iterators are designed to easily change the collections that they loop through. The remove() method can remove items from a collection while looping.

Example

import java.util.ArrayList;
import java.util.Iterator;

public class Main {
  public static void main(String[] args) {
    ArrayList<Integer> numbers = new ArrayList<Integer>();
    numbers.add(12);
    numbers.add(8);
    numbers.add(2);
    numbers.add(23);
    Iterator<Integer> it = numbers.iterator();
    while(it.hasNext()) {
      Integer i = it.next();
      if(i < 10) {
        it.remove();
      }
    }
    System.out.println(numbers);
  }
}

Note: Trying to remove items using a for loop or a for-each loop would not work correctly because the collection is changing size at the same time that the code is trying to loop.


The var Keyword with Iterators

You can also use the var keyword with iterators. This avoids repeating the long type name Iterator<String>, since the compiler already knows the type from the collection.

This makes code shorter, but many developers still use the full type for clarity. Since var is valid from Java version 10, you may see it in other code, so it's good to know that it exists:

Example

// Without var
Iterator<String> it = cars.iterator();

// With var
var it = cars.iterator();

Here, var makes the iterator declaration shorter, but the actual type is still Iterator<String>.


Complete Iterator Reference

For a complete reference of Iterator methods, go to our Java Iterator Reference.

Want to go beyond the notes?

Join CodingNow 2.0's Java course — live mentorship, real projects, and 100% placement support.

Enroll Now — Free Demo Available

Java Iterator – FAQs

Quick answers about learning Java Iterator in Java.

This free note from CodingNow 2.0 explains Java Iterator in Java — concept, syntax and worked code examples you can copy, run and revise before interviews.
Yes. Every Java topic on CodingNow 2.0, including Java Iterator, is 100% free with no signup required.
With focused practice, most students grasp Java Iterator in 1–3 days from these notes; pairing it with CodingNow 2.0's mentor-led course takes you to job-ready depth faster.
Use the code examples in this note, then ask doubts for free on the CodingNow 2.0 Community (/community) — expert instructors answer within 24 hours.
WhatsApp
Call NowEnroll Now