Opleiding: Lambdas and Streams

In the course Lambdas and Streams participants learn functional programming with the Lambdas and Stream libraries added in Java 8.

Java 8 Review

The course Lambdas and Streams begins with a discussion of how functionality was passed before Java 8. Inner and anonymous classes are covered in this respect. The new default methods of Java 8 interfaces are also treated.

Lambdas Intro

Subsequently Lambdas are introduced. They correspond to interfaces with only one abstract method and are known as functional interfaces.

Method References

Lambdas can be replaced by method references resulting in a more compact notation. The different type of method references are discussed subsequently.

Function Package

The program of the course Lambdas and Stream also includes a discussion of the java.util.function package. The many ready-made functional interfaces from that package are covered with their respective parameters, return values and default methods.

Higher Order Functions

Higher order functions to whom functions are passed as parameters or by whom functions are returned as return value, are also treated.

Streams Intro

Next it is time for a discussion of the stream library. It is explained how streams can be created from arrays, lists and other data structures. The streams do not store data, but transform and filter data in a series of sequential operations. The difference between intermediate and terminal stream operations is covered then.

Parallel Streams

Finally attention is paid to parallel streams, which improve performance because they can be executed on multiple CPU cores at the same time. Grouping with streams is discussed as well.

Audience Course Lambdas and Streams

The course Lambdas and Streams is intended for Java developers who want to learn how to do functional programming with the lambdas and stream libraries that were added to Java 8.

Prerequisites Course Lambdas and Streams

Good knowledge and experience of programming in Java is required, but it is not necessary to have in-depth knowledge of Java 8.

Realization Training Lambdas and Streams

The theory is treated on the basis of presentations and is interspersed with exercises. Demos are used to clarify the theory. Class times are from 9:30 up and to 16.30.

Certificate Lambdas and Streams

Participants will receive a certificate Lambdas and Streams after successful completion of the course.

Modules

Module 1 : Java 8 Review

  • Java 8 Lambdas and Streams
  • Installation and Setup
  • Online References
  • Review of Basic Handlers
  • Anonymous Classes
  • Separate Classes
  • Main Implements Interface
  • Named Inner Classes
  • Anonymous Inner Classes
  • Generic Classes and Methods
  • Common Eclipse Techniques

Module 2 : Lambdas Intro

  • What are Lambdas?
  • Passing Functions Around
  • Lambdas Interpretation
  • Underlying Advantages
  • Most Basic Form
  • Type Inference
  • Expression for Body
  • Omitting Parens
  • Lambda Alternatives
  • Numerical Integration
  • Timing Utilities

Module 3 : Method References

  • Review @Override
  • @FunctionalInterface
  • Updated Interfaces
  • Method References
  • Type of Method References
  • Constructor References
  • Variable Scoping
  • Lambda Scoping Rules
  • Final Local Variables
  • Button Listeners
  • Concurrent Image Download

Module 4 : Function Package

  • Interfaces in java.util.function
  • Lambda Targets
  • IntConsumer
  • DoublePredicate
  • Predicate Interface
  • Refactoring
  • BinaryOperator Interface
  • Consumer Interface
  • Consumer Test
  • Supplier Interface
  • Supplier Usage

Module 5 : Higher Order Functions

  • Returning Lambdas
  • From Predicate
  • and, or
  • negate, isEqual
  • From Function
  • andThen
  • compose, identity
  • From Consumer
  • andThen
  • Custom Methods
  • Typing Issues

Module 6 : Streams Intro

  • Building Streams
  • Characteristics of Streams
  • Method Types
  • Primitive Streams
  • Converting Streams
  • forEach, map and filter
  • findFirst and findAny
  • toArray and collect
  • Optional Class
  • Lazy evaluation
  • Short Circuit Operations

Module 7 : Stream Operations

  • limit and skip
  • sorted and distinct
  • noneMatch and allMatch
  • anyMatch and count
  • IntStream
  • DoubleStream
  • LongStream
  • Reduction Operations
  • reduce
  • min and max
  • sum and average

Module 8 : Parallel Streams

  • Traditional Loops
  • Stream Approach
  • Parallel versus Concurrent
  • Fork and Join
  • Parallel Reduction
  • No Global Data
  • Associative Operation
  • Performance Comparison
  • Infinite Streams
  • generate, iterate and collect
  • Grouping
Meer...
€1.499
ex. BTW
Aangeboden door
SpiralTrain
Onderwerp
Java 8
Niveau
Duur
2 dagen
Looptijd
12 dagen
Taal
en
Type product
cursus
Lesvorm
Klassikaal
Aantal deelnemers
Max: 12
Tijdstip
Overdag
Tijden en locaties
Amsterdam
do 23 jul. 2026
Eindhoven
do 23 jul. 2026
Houten
do 23 jul. 2026
Rotterdam
do 23 jul. 2026
Utrecht
do 23 jul. 2026
Zwolle
do 23 jul. 2026
Amsterdam
do 24 sep. 2026
Eindhoven
do 24 sep. 2026
Houten
do 24 sep. 2026
Rotterdam
do 24 sep. 2026
Utrecht
do 24 sep. 2026
Zwolle
do 24 sep. 2026
Amsterdam
do 26 nov. 2026
Eindhoven
do 26 nov. 2026
Houten
do 26 nov. 2026
Rotterdam
do 26 nov. 2026
Utrecht
do 26 nov. 2026
Zwolle
do 26 nov. 2026
Amsterdam
do 21 jan. 2027
Eindhoven
do 21 jan. 2027
Houten
do 21 jan. 2027
Rotterdam
do 21 jan. 2027
Utrecht
do 21 jan. 2027
Zwolle
do 21 jan. 2027
Amsterdam
do 25 mrt. 2027
Eindhoven
do 25 mrt. 2027
Houten
do 25 mrt. 2027
Rotterdam
do 25 mrt. 2027
Utrecht
do 25 mrt. 2027
Zwolle
do 25 mrt. 2027
Amsterdam
do 20 mei 2027
Eindhoven
do 20 mei 2027
Houten
do 20 mei 2027
Rotterdam
do 20 mei 2027
Utrecht
do 20 mei 2027
Zwolle
do 20 mei 2027
Amsterdam
do 22 jul. 2027
Eindhoven
do 22 jul. 2027
Houten
do 22 jul. 2027
Rotterdam
do 22 jul. 2027
Utrecht
do 22 jul. 2027
Zwolle
do 22 jul. 2027
Amsterdam
do 23 sep. 2027
Eindhoven
do 23 sep. 2027
Houten
do 23 sep. 2027
Rotterdam
do 23 sep. 2027
Utrecht
do 23 sep. 2027
Zwolle
do 23 sep. 2027
Amsterdam
do 25 nov. 2027
Eindhoven
do 25 nov. 2027
Houten
do 25 nov. 2027
Rotterdam
do 25 nov. 2027
Utrecht
do 25 nov. 2027
Zwolle
do 25 nov. 2027
Amsterdam
do 20 jan. 2028
Eindhoven
do 20 jan. 2028
Houten
do 20 jan. 2028
Rotterdam
do 20 jan. 2028
Utrecht
do 20 jan. 2028
Zwolle
do 20 jan. 2028
Keurmerken aanbieder
NRTO
UWV scholingsvoucher