Use when you need to apply functional programming principles in Java — including writing immutable objects and Records, pure functions, functional interfaces, lambda expressions, Stream API pipelines, Optional for null safety, function composition, higher-order functions, pattern matching for instanceof and switch, sealed classes/interfaces for controlled hierarchies, Stream Gatherers for custom operations, currying/partial application, effect boundary separation, and concurrent-safe functional ...
| Functional Programming in Java: Harness the Power of Streams and Lambda Expressions (2023) by Subramaniam, Venkat | |
| Functional Programming in Scala, Second Edition (2023) by Pilquist, Michael, Chiusano, Paul, Bjarnasson, Rúnar | |
| A Functional Approach to Java: Augmenting Object-Oriented Java Code with Functional Principles (2023) by Weidig, Ben | |
| Functional Programming in Kotlin (2021) by Vermeulen, Marco, Bjarnason, Rúnar, Chiusano, Paul | |
| Functional and Concurrent Programming: Core Concepts and Features (2022) by Charpentier, Michel | |
| Modern Java in Action: Lambdas, streams, functional and reactive programming (2018) by Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft | |
| Functional Programming in Java: How functional techniques improve your Java programs (2017) by Saumont, Pierre-Yves | |