Collectors
Java's built-in Collector implementations — toList, groupingBy, partitioningBy, joining, toMap, counting, and how to build custom collectors.
Java's built-in Collector implementations — toList, groupingBy, partitioningBy, joining, toMap, counting, and how to build custom collectors.
What functional interfaces are, the built-in types (Function, Predicate, Consumer, Supplier), and how to compose them.
Lambda expressions in Java — syntax, effectively-final capture, `this` behavior, and how they relate to functional interfaces.
The four kinds of method references in Java — static, bound instance, unbound instance, and constructor — and when to prefer them over lambdas.
How to use Optional correctly — creation, retrieval patterns, chaining, and the anti-patterns that make Optional worse than null.
When parallel streams improve throughput, when they hurt, and how the ForkJoin common pool governs parallel execution.
How Java streams work — pipeline anatomy, lazy evaluation, intermediate vs. terminal operations, and common pitfalls.