Dive into the world of functional programming with our comprehensive course on Java Streams and Lambda Expressions. This course is designed to transform your approach to Java programming by introducing you to the Streams API, a powerful tool for processing data in a functional style. You'll explore the core concepts of streams, including terminal methods and the principle of laziness, which allow for efficient data processing. Our lessons will guide you through the intricacies of Lambda expressions, covering syntax variations and their application within functional interfaces. You'll gain hands-on experience with method references and learn to implement functional programming techniques to supply, filter, map, consume, and sort data. The course also delves into advanced topics like decomposition, reduction, and the use of collectors for grouping and partitioning. Additionally, you'll explore the use of parallel streams to process collections concurrently, leveraging parallel computing hardware for enhanced performance. By the end of this course, you'll be equipped with the skills to write more efficient, scalable, and modern Java code.



Java SE 17 Developer (1Z0-829): Unit 5
This course is part of Java SE 17 Developer (1Z0-829) Specialization

Instructor: Pearson
Included with
Recommended experience
What you'll learn
Master the Streams API for efficient data processing using terminal methods and laziness.
Implement Lambda expressions and method references within functional interfaces.
Utilize collectors for advanced data grouping, partitioning, and reduction.
Skills you'll gain
Details to know

Add to your LinkedIn profile
July 2025
3 assignments
See how employees at top companies are mastering in-demand skills

Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate

There is 1 module in this course
This module addresses the exam topic grouping working with streams and lambda expressions. The two subtopics in this grouping are used Java object and primitive streams, including lambda expressions implementing functional interfaces to supply, filter, map, consume and sort data, perform decomposition, concatenation and reduction, and grouping and partitioning on sequential and parallel streams. While on the subject of concurrency, we'll also address one of the three objectives under the grouping managing concurrent code execution. That objective is process Java collections concurrently, including the use of parallel streams.
What's included
19 videos3 assignments
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Explore more from Algorithms
Why people choose Coursera for their career





Open new doors with Coursera Plus
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Join over 3,400 global companies that choose Coursera for Business
Upskill your employees to excel in the digital economy
Frequently asked questions
Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.
If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.
Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.
More questions
Financial aid available,