Functional Programming in Java : Java Lambdas and Streams

Mastering Lambdas and Streams in Java (with lots of code examples)

4.75 (66 reviews)
Udemy
platform
English
language
IT Certification
category
Functional Programming in Java : Java Lambdas and Streams
502
students
4.5 hours
content
Dec 2023
last update
$64.99
regular price

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.

Streams - collect() using API collectors explained with code examples e.g. CollectorsDOTtoMap(), CollectorsDOTgroupingBy() and CollectorsDOTpartitioningBy()

Streams - Intermediate Operations explained with code examples e.g. filter(), distinct(), limit(), map(), flatMap() and sorted().

Streams - stateful and short-circuiting intermediate operations explained.

Streams - Primitive Streams - how to create them, what their API's look like and how to map between them.

Streams - mapping between Object streams and primitive streams and vice versa.

Optionals - what they are and why they are useful. Sample code demonstrating their use.

Parallel Streams - how to create them. Sequential versus parallel stream processing.

Why take this course?

IMPORTANT - My advanced Java course: Java 21, Java 17, Java 11, Advanced Java 8 (1Z0-829,1Z0-819,1Z0-809), contains this course as a subset. My advanced Java course contains an extra 12 hours of content and is worth checking out before investing in this this course (as it is, in my opinion, better value for money).


UPDATE February 2023 - streams assignment added!

UPDATE April 2022 - lambdas/method references assignment added!

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.

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

  • 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

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 both Java 8 OCP (1Z0-809) and Java 11 (1Z0-819). This course explains the concepts through small, simple, targeted code examples.

For those who don't know me, my "Complete Java 8 OCA (1Z0-808) Java Certification Course" is, at the time of writing, the highest rated Java 8 OCA course on Udemy. I am a lecturer since 2002 and have taught the 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. I am delighted that Enthuware (the excellent Java certification training tool), have, in their explanations, linked to my YouTube channel.


Screenshots

Functional Programming in Java : Java Lambdas and Streams - Screenshot_01Functional Programming in Java : Java Lambdas and Streams - Screenshot_02Functional Programming in Java : Java Lambdas and Streams - Screenshot_03Functional Programming in Java : Java Lambdas and Streams - Screenshot_04

Reviews

James
April 25, 2023
It is a good course but I found that sometimes the instructor goes a little bit fast. It's OK though since I was able to stop the video and rewind back to the place I needed to be.
Dimitris
October 27, 2022
To the point. What I actually expected. Some minor notes are dark background on IDE and the smoke detector beep.
Jesse
August 31, 2022
you could have exemplos with datas and coding with us at the moment you teach. But I like very very much. Thanks a lot.
Muthu
March 3, 2022
short and crisp course, covered depth. Course is not for beginners. Parallel steam internal thread mechanism would have covered.
Jose
January 13, 2022
No introduction or overview of what we will do. Seems that this was extracted from a larger course. No quiz or exercises...
Bv
November 19, 2021
Excellent Course, the concepts are explained in a clear & concise manner making it easy to understand.

Charts

Price

Functional Programming in Java : Java Lambdas and Streams - Price chart

Rating

Functional Programming in Java : Java Lambdas and Streams - Ratings chart

Enrollment distribution

Functional Programming in Java : Java Lambdas and Streams - Distribution chart
4378922
udemy ID
11/2/2021
course created date
11/7/2021
course indexed date
Bot
course submited by