Programme du cours
Introduction
-
Classe anonyme, fonction et lambda : question de lisibilité
-
Impact sur les collections : du pattern d’itération à map/reduce
Expression lambda
-
Présentation de la nouvelle notation '->'
-
Présentation des différentes formes de lambda
-
Compatibilité avec les interfaces (fonctionnelles) existantes
-
L’inférence de type dans les lambda
-
La notation par method reference
-
Lambda et variable final
Interfaces fonctionnelles
-
L’objectif de rétro-compatibilité
-
Définir une interface fonctionnelle
-
L’annotation @FunctionalInterface
-
Les nouvelles interfaces fonctionnelles : Function, Predicate,…
-
Les méthodes default
Collections et Streams
-
Les changements dans l’API de collection
-
Les nouveaux patterns pour Collection et Map
-
Passage de Collection à Stream
-
Création de streams (types primitifs, String,…)
-
Le pattern filter, map, collect
-
Collectors standards et personnalisés
-
Optional, à la place de null