Java 8 - Iterator forEachRemaining
- schick09
- Aug 14, 2024
- 1 min read
Java 8 introduced a new method to Iterator called forEachRemaining. This method takes a Consumer, which represents an operation that acceps a single input argument and returns no result.
Here's one way we used to iterate over a collection before this method was introduced:
public class Main {
public static void main (String[] args){
List<String> cars = new ArrayList<>();
cars.add("Honda");
cars.add("Toyota");
cars.add("Ford");
cars.add("Subaru");
Iterator<String> iterator = cars.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
With forEachRemaining, we can now perform the equivalent logic with a single line of code like so:
public class Main {
public static void main (String[] args){
List<String> cars = new ArrayList<>();
cars.add("Honda");
cars.add("Toyota");
cars.add("Ford");
cars.add("Subaru");
cars.iterator().forEachRemaining((car) -> System.out.println(car));}
}
Here's a link to our GitHub location to access an example of using the Iterator forEachRemaining operation: https://github.com/daveschickconsulting/java_8_examples/tree/main/src/funwithforeachremaining

Comments