Fiche Formation

Java 8 : lambdas, streams et collectors

API Stream et Collectors

Objectifs

  • Présenter la nouvelle syntaxe introduite en Java 8 : les « lambda expressions »
  • Appréhender le nouveau concept d’interface fonctionnelle introduit en Java 8
  • Présenter l’API Stream et Collectors, API nouvellement créées

Public

Développeurs Java

Pré-requis

  • Bonne connaissance du langage Java et de ses principales API, notamment l’API Collection. Connaissance de base des génériques.

Méthodes pédagogiques

50% théorie, 50% pratique

Description

L’introduction des lambdas en Java 8 constitue une révolution pour le développeur. Des modifications profondes du langage sont introduites, ainsi que des patterns, notamment ceux du framework Collection. Les habitudes de développement introduites en 1998 sont en train d’évoluer et permettent de traiter les collections de très grande taille (entre autres) avec efficacité.

Cette formation a pour objet de présenter les nouveautés du langage (les lambdas) au travers d’exemples précis issus de projets réels.  Elle introduit la nouvelle API Stream, construite pour tirer parti de ces nouveautés dans le cas du traitement des collections de très grande taille. L’API Collector est également présentée en détails. Les nouveaux patterns introduits par ces deux API sont tous examinés en détails, sur des exemples concrets. 

Programme

Présentation 

  • Traitement de données jusqu’en Java 7, rappels sur le pattern iterator. 
  • Présentation de l’algorithme map / filter / reduce, application avec l’API Collection.

Expression lambda

  • Introduction des expressions lambda sur quelques exemples.
  • Règles d’écriture détaillées des expressions lambda. 
  • Notion d’interface fonctionnelle, compatibilité ascendante. 
  • Syntaxe method reference, exemples. 
  • Accès à l’état englobant d’une expression lambda. 
  • Utilisation du mot-clé this dans une expression lambda. 
  • Implémentation et performances. 

Interfaces fonctionnelles

  • Définition d’une interface fonctionnelle, exemples. 
  • Interfaces fonctionnelles dans le JDK 8. 
  • Écriture d’interfaces fonctionnelles, exemples. 
  • API Collection et lambda expressions : évolutions des interfaces existantes. 
  • Nouvelles interfaces Java 8 : méthodes par défaut, méthodes statiques. Perspectives Java 9. 
  • Utilisation pour de nouveaux patterns, exemples du JDK 8. 

L’API Collection en Java 8

  • Panorama des nouvelles fonctionnalités. 
  • Patterns for-each, replace-if, do-if-absent, do-if-present
  • Fusion de tables de hachage. 

L’API Stream en Java 8

  • Problématique de l’implémentation du map / filter / reduce avec l’API Collection. 
  • Notion de Stream : définitions, exemples. 
  • Patterns de création de streams. 
  • Opérations intermédiaires et terminales sur les streams, exemples. 
  • Étape de réduction, patterns. 
  • Problématiques des streams vides, introduction d’optional
  • Utilisation avancée d’optionals, exemples, patterns fondamentaux. 

Notion de collector

  • Réduction simple et réduction complexe. 
  • Notion de réduction mutable, exemples. 
  • Notion de collector, patterns, exemples. 
  • Classe Collectors. 
  • Écriture de collectors non disponibles dans le JDK. 
Retourner au catalogue des formations
Durée2 jours
LieuParis

Prochaines Sessions

21 novembre 2017

Informations Pratiques

file_download Télécharger la fiche

Vous avez des questions ?

N'hésitez pas à nous contacter pour réserver votre formation, ou si vous avez des questions sur nos formations :

  • call 01 44 75 42 55
  • print 01 44 75 05 25
  • mail_outline training@soat.fr
  • location_on SOAT - 87-89 quai de Panhard et Levassor - 75013 Paris
link  Formulaire de contact