Mô tả

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.


Bạn sẽ học được gì

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.

Yêu cầu

  • Intermediate Java. Whereas my "Java 8 OCA (1Z0-808) Course" starts at the beginning, this assumes that the learner has a reasonable level of Java.
  • To make understanding lambdas easier, a familiarity with anonymous inner classes would help. That said, lambdas are contrasted with anonymous inner class syntax in the course.

Nội dung khoá học

3 sections

Lambdas (Lambda Expressions)

17 lectures
Introduction
06:42
Lambdas in code (using a custom functional interface)
03:08
Lambdas in code (using Predicate)
05:35
Functional Interfaces from the API - Predicate and BiPredicate
03:14
Functional Interfaces from the API - Supplier
02:08
Functional Interfaces from the API - Consumer and BiConsumer
05:00
Functional Interfaces from the API - Function and BiFunction
02:47
Functional Interfaces from the API - UnaryOperator and BinaryOperator
03:03
Lambdas - final and effectively final
04:15
Method References
02:42
Bound Method References
04:59
Unbound Method References
05:01
Static Method References
02:55
Constructor Method References
03:02
Method References and Context
05:51
Lambdas Lab
9 questions
Lambdas and Method References
4 questions

Streams

20 lectures
Introduction and Stream Pipelines
04:35
Stream Laziness
06:13
Creating Streams
07:19
Terminal Operations
06:37
Terminal Operations - reduce()
08:07
Terminal Operatons - collect()
02:21
Terminal Operations - collect() - Collectors.toMap()
06:38
Terminal Operations - collect() - Collectors.groupingBy()
03:15
Terminal Operations - collect() - Collectors.partitioningBy()
02:35
Intermediate Operations - filter(), distinct() and limit()
06:08
Intermediate Operations - map(), flatMap() and sorted()
05:54
Primitive Streams - creating
04:03
Primitive Streams - API
04:23
Primitive Streams - Functional Interfaces
03:23
Primitive Streams - mapping
06:41
Mapping Object Streams
03:07
Mapping Primitive Streams
03:24
Optionals
05:45
Parallel Streams
04:20
Streams Assignment
1 question

Bonus Content

1 lectures
Bonus Lecture
03:52

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.