Concept
A stream processes a collection as a pipeline of operations, filter, map, sorted, collect, written with lambdas. It replaces many loops with a declarative description of the result.
The tutor works through these with you, in conversation and code. A session ends when you have shown them, not when a video does.
A few lines that show Streams and lambdas doing its job.
record Order(String customer, long cents) {}
Map<String, Long> totalByCustomer = orders.stream()
.filter(o -> o.cents() > 0)
.collect(Collectors.groupingBy(
Order::customer,
Collectors.summingLong(Order::cents)));
List<String> top = totalByCustomer.entrySet().stream()
.sorted(Map.Entry.<String, Long>comparingByValue().reversed())
.limit(3)
.map(Map.Entry::getKey)
.toList();Reusing a stream after a terminal operation. A stream is consumed once; calling count() and then toList() on the same one throws IllegalStateException.
Your roadmap puts these before Streams and lambdas, unless you already know them.
Once a session shows you understand Streams and lambdas, it comes back for review. Each review takes a minute and tells the memory model how well you still know it.