You know that clunky feeling of writing yet another for loop just to print out a list. Counter variable, condition check, increment — three moving parts before you even get to the part you actually care about. Java 8 gave you a way around that: forEach . It sits inside the Iterable interface and works hand-in-hand with the Stream API. You hand it an action, and it runs that action on every element in your collection. No index tracking. No boilerplate. Here's the method signature you're working with: void forEach(Consumer<? super T> action) action is whatever you want done to each element. Consumer comes from java.util.function , and its whole job is simple: take one input, do something with it, hand back nothing. That's a perfect fit for "run this on every item in my list." Let's walk through how it actually plays out in code. Printing a List, the Easy Way import java.util.ArrayList; public class ForEachExample { public static void main(String[]...