Popular Tutorials
Start Learning JavaCreated with over a decade of experience.
Certification Courses
Created with over a decade of experience and thousands of feedback.
Java Introduction
Java Fundamentals
Java Flow Control
Java Arrays
Java OOP(I)
Java OOP(II)
Java OOP(III)
Java Exception Handling
Java List
Java Queue
Java Map
Java Set
Java I/o Streams
- Java I/O Streams
- Java InputStream Class
- Java OutputStream Class
- Java FileInputStream Class
- Java FileOutputStream Class
- Java ByteArrayInputStream Class
- Java ByteArrayOutputStream Class
- Java ObjectInputStream Class
- Java ObjectOutputStream Class
- Java BufferedInputStream Class
- Java BufferedOutputStream Class
- Java PrintStream Class
Java Reader/Writer
Additional Topics
Java Iterator Interface
The Iterator interface of the Java collections framework allows us to access elements of a collection. It has a subinterface ListIterator.

All the Java collections include an iterator() method. This method returns an instance of iterator used to iterate over elements of collections.
Methods of Iterator
The Iterator interface provides 4 methods that can be used to perform various operations on elements of collections.
hasNext()- returnstrueif there exists an element in the collectionnext()- returns the next element of the collectionremove()- removes the last element returned by thenext()forEachRemaining()- performs the specified action for each remaining element of the collection
Example: Implementation of Iterator
In the example below, we have implemented the hasNext(), next(), remove() and forEachRemining() methods of the Iterator interface in an ArrayList.
import java.util.ArrayList;
import java.util.Iterator;
class Main {
public static void main(String[] args) {
// Creating an ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(3);
numbers.add(2);
System.out.println("ArrayList: " + numbers);
// Creating an instance of Iterator
Iterator<Integer> iterate = numbers.iterator();
// Using the next() method
int number = iterate.next();
System.out.println("Accessed Element: " + number);
// Using the remove() method
iterate.remove();
System.out.println("Removed Element: " + number);
System.out.print("Updated ArrayList: ");
// Using the hasNext() method
while(iterate.hasNext()) {
// Using the forEachRemaining() method
iterate.forEachRemaining((value) -> System.out.print(value + ", "));
}
}
}
Output
ArrayList: [1, 3, 2] Acessed Element: 1 Removed Element: 1 Updated ArrayList: 3, 2,
In the above example, notice the statement:
iterate.forEachRemaining((value) -> System.put.print(value + ", "));
Here, we have passed the lambda expression as an argument of the forEachRemaining() method.
Now the method will print all the remaining elements of the array list.
