
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Explore the classification of Java stream operations, including intermediate and terminal types, and how a stream pipeline processes elements from a collection source.
Explore the flatMap operation in Java streams, showing how map transforms orders into lists and flattening yields a single stream of items for downstream processing.
Use reduce to compute total daily active covid cases across districts, and identify the district with the lowest and highest cases within a state, in a simple covid tracking app.
Explore special cases of reduction in Java streams: the min and max terminal operations, and the count method. These relate to the general reduced method that uses an accumulator function.
Explore java streams collect with collector. Learn how supplier, accumulator, combiner, and finisher enable mutable reductions, and use predefined collectors for joining, listing, mapping, grouping, and partitioning.
Learn how to collect stream elements into lists and sets using collectors, including toList, toSet, and toCollection, with examples of distinct filtering, suppliers, and constructor references.
Explore grouping by with Java streams to build multi-level maps and summarize values using downstream collectors such as counting, averaging, minimum, and maximum. Also learn partitioning by and mapping titles.
Learn functional-style Java streams and lambdas, focusing on side-effect free functions to avoid non-deterministic results in parallel streams, using a health data example with diabetic patients and average age.
Explore functional style programming in Java using lambdas and streams to write elegant, efficient code, with declarative pipelines that classify and group highly rated books by category.
Writing elegant & readable code is extremely important when building software. However, sometimes we are limited by the features of the programming language and this was the case with Java too. Code written in Java was sometimes considered verbose, which in turn made it difficult to understand. However, this started to change since Java 8 and subsequent releases. Java 8 is one of the major Java releases and it incorporated Functional-style Programming paradigm into the language by introducing constructs such as lambdas & streams. Functional programming helps us in writing code that is compact, clean and efficient.
This course will give you an in-depth understanding of Functional-style Programming in Java. All the relevant features like Lambdas, Functional Interfaces, Method & Constructor references, and Streams will be explained in great detail. You will learn how we can write compact & clean code via declarative-style programming using Streams. Every concept is clearly explained with well thought out & realistic examples, nice illustrations and demonstrated in code. Several challenging coding exercises are included to validate what you have learnt and to help you get comfortable with functional-style programming paradigm. With over 6 hours of high quality video lectures, the course is self-paced with life-time access. You get a certificate upon course completion.