Functional-style Programming in Java using Lambdas & Streams
Write compact, clean and efficient code by mastering Functional Programming in Java using Lambdas & Streams.
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.
Promo video explaining what the course offers and how features such as lambdas & streams enable in writing compact & elegant code.
Course Introduction
FREE PREVIEWFunctional-style Programming: Motivation & Agenda
Lambdas: Introduction
Demo: Lambdas
FREE PREVIEWUse Lambdas as Function Objects
Capturing Variables from Lambdas - Closures!
Quiz: Lambdas
Lambdas: Important Q&A Discussions!
Predicate, (Bi) Function, and Unary Operator Interfaces
Demo: Consumer, Supplier, and Primitive Functional Interfaces
Quiz: Functional Interfaces
Demo: Method References
Demo: Constructor References
Streams + Demo
Stream Operations: An Overview
Demo: Slicing a Stream
flatMap Operation
Demo: flatMap Operation
Demo: Stream Matching Operations
Demo: Stream Finding Operations & Optional Class
Coding Exercise 1: Implementing Flight Reservation System
Stream Reduction Operations + Demo
Assignment: Let's test our skills on reduce() operation
Coding Exercise 2: Covid Tracking with reduce()
Solution: Covid Tracking with reduce()
Special Cases of Reduction Operation
Mutable Reduction with Collection Operations + Demo
collect() with Collector
Demo: Collecting Stream into List & Set
Coding Exercise 3: Covid Tracking with collect()
Demo: Grouping Stream Elements
Demo: Summarizing Groups & Generating Multi-level Groups
Side-effect Free Functions
Demo: Streams & Side-effect Free Functions
Important Q&A Discussions!
Conclusion - A Quick Review!
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.