Course Highlights

  • Functional-style Programming

    Gain in-depth understanding of Lambdas, Functional Interfaces, Method & Constructor References and Streams

  • Compact & Elegant Code

    Learn to write elegant code through declarative-style programming. Concepts are explained through realistic and interesting examples.

  • Lifetime Access

    Self-paced course with 6+ hours of high-quality video lectures. Get in-depth personalized responses within 24 hours for all your queries.

Course Overview

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. The course content is also being actively used at many top companies and Universities across the world. 

Functional-style Programming in Java

Promo video explaining what the course offers and how features such as lambdas & streams enable in writing compact & elegant code.

Yes! Sign me Up

 

Course curriculum

    1. Course Introduction

      FREE PREVIEW
    2. Functional-style Programming: Motivation & Agenda

    1. Lambdas: Introduction

    2. Demo: Lambdas

      FREE PREVIEW
    3. Use Lambdas as Function Objects

    4. Capturing Variables from Lambdas - Closures!

    5. Quiz: Lambdas

    6. Lambdas: Important Q&A Discussions!

    1. Predicate, (Bi) Function, and Unary Operator Interfaces

    2. Demo: Consumer, Supplier, and Primitive Functional Interfaces

    3. Quiz: Functional Interfaces

    1. Demo: Method References

    2. Demo: Constructor References

    1. Streams + Demo

    2. Stream Operations: An Overview

    3. Demo: Slicing a Stream

    4. flatMap Operation

    5. Demo: flatMap Operation

    6. Demo: Stream Matching Operations

    7. Demo: Stream Finding Operations & Optional Class

    8. Coding Exercise 1: Implementing Flight Reservation System

    9. Stream Reduction Operations + Demo

    10. Assignment: Let's test our skills on reduce() operation

    11. Coding Exercise 2: Covid Tracking with reduce()

    12. Solution: Covid Tracking with reduce()

    13. Special Cases of Reduction Operation

    14. Mutable Reduction with Collection Operations + Demo

    15. collect() with Collector

    16. Demo: Collecting Stream into List & Set

    17. Coding Exercise 3: Covid Tracking with collect()

    18. Demo: Grouping Stream Elements

    19. Demo: Summarizing Groups & Generating Multi-level Groups

    20. Side-effect Free Functions

    21. Demo: Streams & Side-effect Free Functions

    22. Important Q&A Discussions!

    1. Conclusion - A Quick Review!

About this course

  • ₹700.00
  • 36 lessons
  • 6.5 hours of video content
  • Self-paced, lifetime access
The Instructor is highly competent. He is a world-class instructor ... Taking this course will definitely give you a tremendous appreciation for this great language.
Carrel d'Haiti
MEET YOUR INSTRUCTOR

Dheeru Mundluru is the instructor for this program. A passionate software engineer & educator, Dheeru has around 15 years of experience developing innovative software for start-ups in Silicon Valley and elsewhere. He holds a Ph.D. in Computer Science from University of Louisiana at Lafayette (USA). He is an experienced online instructor with over half-a-dozen years of teaching experience with over 100k students globally. He has also been rated as one of the top instructors on Udemy. His engineering expertise includes developing complex Web data integration & mining software with Java as the main programming tool. Coming from start-up world, he also has extensive end-to-end experience in developing Web applications using technologies such as Spring, Hibernate, MySQL, and Solr.

Writing well-crafted code that follows the best design practices is of utmost importance to him. He brings the same level of passion and completeness to his teaching.

Frequently Asked Questions
Basic understanding of Java is required.
No. To ensure course is right fit, please review the preview videos, course description and curriculum carefully.
You can start & finish it anytime. For someone completely new to programming, it can take around 3-4 months of full-time effort to complete it the right way.

Discover your potential, starting today