Module 10: Functional Programming and Streams
Collectors In Depth
Compose downstream collectors to build complex aggregations.
Combine groupingBy with downstream collectors like mapping, counting, or reducing.
Use teeing (Java 12+) to merge results from two collectors into a final object.
Write custom collectors when built-ins do not fit, implementing supplier, accumulator, combiner, finisher, and characteristics.