Functional Programming in Java : Java Lambdas and Streams

Why take this course?
🌟 Mastering Lambdas and Streams in Java: Functional Programming with Java 21 & Beyond 🌟
Course Overview:
This advanced Java course, taught by the experienced Dr. Seán Kennedy, is a comprehensive guide to understanding and implementing lambda expressions and streams in Java. It's an essential add-on to my Java 21, Java 17, Java 11, Advanced Java 8 (1Z0-829,1Z0-819,1Z0-809) course, which includes this content as a subset. If you're considering investing in this course, I highly recommend checking out the Advanced Java course first – it offers an additional 12 hours of content and provides exceptional value for money.
Updates:
- February 2023 Update: A new streams assignment has been added to put your skills into practice!
- April 2022 Update: A lambdas/method references assignment has been introduced to solidify your understanding of these concepts.
Course Content Breakdown:
Lambdas:
- Functional Interfaces
- Lambdas and their relationship to Functional Interfaces
- Custom Functional Interfaces
- Pre-defined API Functional Interfaces:
Predicate
,BiPredicate
,Supplier
,Consumer
(includingBiConsumer
),Function
,BiFunction
,UnaryOperator
,BinaryOperator
- Understanding
final
and "effectively final"
Method References:
- Bound vs. Unbound
- Static vs. Constructor
- Context and its importance
Streams:
- Pipelines
- Laziness
- Creating streams
- Terminal operations:
reduce()
- Deep dive into:
Collectors.toMap()
Collectors.groupingBy()
Collectors.partitioningBy()
- Deep dive into:
collect()
- Focus on:
- Mapping to
ToMap
collector - Grouping by a function of the input elements
- Partitioning by a predicate
- Mapping to
- Focus on:
- Intermediate operations:
filter()
,distinct()
,limit()
map()
,flatMap()
,sorted()
Primitive streams:
- Creating and API overview
- Functional Interfaces for primitive types
- Mapping between primitive streams and Object streams
Optionals:
- Understanding
Optional
and its use cases
Parallel streams:
- Exploring the parallel execution capabilities of Java Streams
Course Design for Java Certification:
- The Predicate lambda sections are ideal for preparing for Java 8 OCA (1Z0-808).
- The remaining lambda and stream sections are relevant for both Java 8 OCP (1Z0-809) and Java 11 (1Z0-819).
Learning Experience:
This course is designed to explain complex concepts through clear, concise code examples. Each topic is covered with small, simple, targeted examples that will help you grasp the material without feeling overwhelmed.
Instructor Credentials:
Dr. Seán Kennedy has been a lecturer since 2002 and has specialized in teaching the OCA and OCP syllabi since 2013 on behalf of a highly regarded software company. His students have consistently passed their internal Java Certification exams with a 100% success rate since the program's inception.
Join the Java Programming Revolution:
If you're ready to dive into the world of functional programming within Java, this course is your gateway to mastering lambdas and streams. With Dr. Seán Kennedy's expertise, you'll be well-equipped to face any coding challenge with confidence.
Enroll now and transform your Java skills with the power of functional programming! 💻✨
Course Gallery




Loading charts...