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.
Consolidated interview Q&A for Java Functional Programming — lambdas, functional interfaces, method references, streams, collectors, parallel streams, and Optional.
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.
Java's Optional container type — what it is, when it genuinely clarifies code, and the common anti-patterns that make it worse than a null check.
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.