This course is a systematic approach to explaining in both notes format and especially code examples, lambda expressions and streams in Java.
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
The following topics will be discussed in detail:
Functional Interfaces and how Lambdas relate to them
Lambdas in code using the pre-defined API Functional Interfaces
Method References
Streams:
Pipelines
Laziness
Creating streams
Terminal operations
Intermediate operations
Primitive streams
Optionals
Parallel streams
Pre-requisites are:
Feedbacks (1)