Functional Programming in Java : Java Lambdas and Streams (Udemy.com)
Mastering Lambdas and Streams in Java (with lots of code examples)
Created by: Dr. Seán Kennedy OCA
Last updated January 2026
What you will learn
- Functional Interfaces - what they are and their relationship to lambda expressions.
- Lambdas - anonymous inner class syntax versus lambda expressions.
- Functional Interfaces from the API - sample code explaining Predicate/BiPredicate, Consumer/BiConsumer
- Functional Interfaces from the API - sample code explaining Supplier, Function/BiFunction
- Functional Interfaces from the API - sample code explaining UnaryOperator, BinaryOperator
- Method References - their relationship with lambdas. Different types of method references explained with code - bound, unbound, static and constructor.
- Method References - how the context helps in understanding them.
- Streams - what they are, stream pipelines and stream laziness.
- Streams - Terminal operations.
- Streams - Terminal operations - reduce, collect() explained with code examples.
How it compares
Against the other 848 rated Udemy courses in IT Certifications on CourseDuck:
- Rating4.7 out of 5higher than 80% of them
- Reviews114#681 of 849 by number of reviews
- Length4.4 hoursshorter than 71% of them
- Last updatedJanuary 2026earlier than 50% of them
Course Description
IMPORTANT - One of my Udemy Business courses, namely, Advanced Java, Explained Simply: Java 8–25 and Spring Boot 3, contains this course as a subset. My advanced Java course contains 33h 45m of content and is worth checking out before investing in this this course (as it is, in my opinion, better value for money).
Sample reviews:
"Great course to learn about two of the most powerful Java 8 new additions, Lambdas and Streams. Thank you!" [Andrei-G C.]
"Excellent course on Java Lambdas and Streams. Doctor Sean Kennedy clearly explained all concepts and techniques using great amount of examples. The assignments reflected what we learned in the course. Thank you Doctor Sean Kennedy!" [Jing H]
"This course provides hands-on knowledge on how to work with functional programming in java. From Lambdas to Optionals, the way Java 8 api adds this new features is really a key factor to productivity and performance." [Calebe O]
"Concise, easy to follow, very useful. Very talented lecturer." [Luka K]
"Sean described lambdas and streams ,covered all the topics in detailed level." [Kalpana M]
"Very good course, learnt many new things. Dr Kennedy should bring out more courses." [Vasudha S.]
"The course is very well-organized and clearly presented. Thank you, Dr. Seán Kennedy." [Ricardo R.]
"Super course, great help with this important area of Java programming." [David F.]
"Excellent course and teacher's explanations." [E. A.]
"Fantastic course, very engaging and delivered in an easy to understand manner." [Gary W.]
"Excellent Course, the concepts are explained in a clear & concise manner making it easy to understand." [Bv]
"Content explained clearly and punctually. Recommended" [Daniel M.]
"Very good introduction, clear and easy to understand." [Richard S.]
This course is a systematic approach to explaining in both notes format and code examples, lambda expressions and streams in Java. All the code samples are included (on my GitHub repo).
Topics include:
Lambdas:
Functional Interfaces
Lambdas and their relationship to Functional Interfaces
Lambdas in code using a custom Functional Interface
Lambdas in code using the pre-defined API Functional Interfaces:
Predicate/BiPredicate
Supplier
Consumer/BiConsumer
Function/BiFunction
UnaryOperator and BinaryOperator
final and "effectively final"
Method References:
bound
unbound
static
constructor
context and it's effect in understanding method references
Assignment to reinforce the content
Streams:
Pipelines
Laziness
Creating streams
Terminal operations:
reduce()
collect()
Collectors.toMap()
Collectors.groupingBy()
Collectors.partitioningBy()
Intermediate operations:
filter(), distinct(), limit()
map(), flatMap(), sorted()
Primitive streams:
Creating
API
Functional Interfaces
Mapping between primitive streams
Mapping between primitive streams and Object streams and vice versa
Optionals
Parallel streams
Assignment to reinforce the content
This course is geared towards Java Certification i.e. the Predicate lambda sections would suit Java 8 OCA (1Z0-808). The remaining lambda sections and the streams sections would suit any version of Java OCP. This course explains the concepts through small, simple, targeted code examples.
Note that, my other 2 courses, namely "Java 8 OCA (1Z0-808) Certification - Master the Fundamentals" and "Java 21, Java 17, Java 11, Java 8 (advanced) and Spring Boot" have both been selected for the Udemy Business portfolio (only the top 3% of courses qualify).
For those who don't know me, I am a lecturer since 2002 and have taught the Java OCA and OCP syllabii since 2013 on behalf of a highly regarded software company. On completion of the courses with me, graduates then face the company's own internal Java Certification exam (similar in style to Oracle's). I have no visibility into the questions they will face. It is a 3 hour long intensive exam. The company are delighted with the pass rate (100% since year 1). I love teaching and this course has all my experience in explaining lambdas and streams in Java.
Instructor Details
- 4.7 Rating
114 Reviews
Dr. Seán Kennedy OCA
Hi, Seán here. I worked in industry for 13 years in FinTech and Telecoms. I have been a lecturer since 2002 and have a PhD in IT. I am Oracle certified in Java to both OCA and OCP levels. I have taught the OCA/OCP syllabii since 2013 on a Level 9 Masters course on behalf of Ericsson. The popular Java certification tool Enthuware link to my YouTube channel in their explanations. I have recently co-authored (with Maaike van Putten) two books on Java: "Learn Java with Projects" and "Java Memory Management: A comprehensive guide to garbage collection and JVM tuning".
More courses by Dr. Seán Kennedy OCA
Java 25 Ready: Java 8–25 + Spring Boot 3 - In Simple Terms (2026)
4.6 (3,256 Reviews)
Provider: Udemy
Time: 33.7h
$74.99
More IT Certifications courses
Master Splunk Enterprise Administration: Certification Prep (2024)
5.0 (154 Reviews)
Provider: Udemy
Time: 1.8h
$59.99
Cisco Troubleshooting Labs For CCNA, CCNP, and CCIE Students (2026)
4.9 (819 Reviews)
Provider: Udemy
Time: 6.8h
$10.99
CCNA Cyber Ops Tools: Sec Onion, Wireshark, and Kali Linux (2025)
4.9 (292 Reviews)
Provider: Udemy
Time: 4.5h
$10.99
ISTQB Certified Tester - Foundation Level latest Version (2025)
4.9 (224 Reviews)
Provider: Udemy
Time: 9.5h
$19.99
CompTIA Tech+ FC0-U71 Prep Hands-on training, Practice Exam (2026)
4.9 (132 Reviews)
Provider: Udemy
Time: 7.6h
$11.99
Cisco CCNA 200-301 – The Complete Guide to Getting Certified (2026)
4.8 (90,672 Reviews)
Provider: Udemy
Time: 42.7h
$19.99
Reviews
By Andrei-Gabriel Calugaru on 12/31/2025
Great course to learn about two of the most powerful Java 8 new additions, Lambdas and Streams. Thank you!
By Pamela Moore on 10/1/2025
It was quite good, and I finally wrapped my head around lambdas and streams. One thing that could be improved is a better way to submit the final assignment. Thank you!
By Mick Ocallaghan on 3/4/2025
Concise and clear explanations, I would prefer labs to be more frequent and smaller and I think Sean should change the battery in his fire alarm
By Jayaprakash on 4/22/2024
The content and the examples are good. It helped to acquaint with Lambdas and Streams.
By Jing Huang on 2/5/2024
Excellent course on Java Lambdas and Streams. Doctor Sean Kennedy clearly explained all concepts and techniques using great amount of examples. The assignments reflected what we learned in the course. Thank you Doctor Sean Kennedy!
By Calebe Dos Santos Oliveira on 11/27/2023
This course provides hands-on knowledge on how to work with functional programming in java. From Lambdas to Optionals, the way Java 8 api adds this new features is really a key factor to productivity and performance.
By Dimitris Skoumpourdis on 10/27/2022
To the point. What I actually expected. Some minor notes are dark background on IDE and the smoke detector beep.
By Muthu Kumar on 3/2/2022
short and crisp course, covered depth. Course is not for beginners. Parallel steam internal thread mechanism would have covered.
By Bv on 11/19/2021
Excellent Course, the concepts are explained in a clear & concise manner making it easy to understand.
By Ricardo Rezende Lopes Ribeiro on 11/15/2021
The course is very well-organized and clearly presented. Thank you, Dr. Seán Kennedy.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 94 / 100







