Functional programming keeps gaining ground because pure functions and avoiding shared state tend to produce code that's shorter and easier to reason about. This course is about making that shift in Java specifically, using the Stream API to move from an imperative to a declarative style.
What you'll cover
- The core ideas behind functional programming and how they differ from the imperative style
- The Stream API and how it processes collections more efficiently
- Transforming data with map, reduce, and flatMap
- Filtering streams with filter and takeWhile
- Collectors, for gathering stream results into lists, maps, and other containers
- Statistical operations and grouping streams into meaningful categories
- Sorting streams for easier navigation and interpretation
49 lessons focused on writing less code that does more, with companion examples on GitHub to follow along with.