Curriculum
Course: Java Basic
Login

Curriculum

Java Basic

Java Home

0/1

Java Introduction

0/1

Java Get Started

0/1

Java Syntax

0/1

Java Comments

0/1

Java Type Casting

0/1

Java Operators

0/1

Java Booleans

0/1

Java Switch

0/1

Java Break / Continue

0/1

Java Errors and Exception

0/1
Text lesson

Java Iterator

Java Iterator

An Iterator is an object utilized for iterating over collections, such as ArrayList and HashSet, named so because “iterating” denotes the process of looping through elements in technical jargon.

To employ an Iterator, you need to 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 iterate through a collection, utilize the hasNext() and next() methods of the Iterator.

Example

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

Removing Items from a Collection

Iterators are intended to facilitate easy modification of the collections they traverse. The remove() method allows for removing items from a collection while iterating.

 

Example

Utilize an iterator to eliminate all numbers below 10 from a collection.

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: Attempting to remove items using a for loop or a for-each loop would lead to incorrect behavior, as the collection’s size is changing simultaneously with the loop execution.