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.