RECHERCHE SUR LES STREAMS
1. Introduction aux Streams en Java
Objectif : Comprendre la différence entre Collections et Streams.
Recherches :
• Qu'est-ce qu'un Stream en Java ?
• Différence entre un Stream et une Collection.
• Avantages des Streams par rapport aux boucles classiques (for, while).
Exercice pratique :
Créer une liste d'entiers et afficher uniquement les nombres pairs en utilisant forEach et un
Stream.
2. Opérations intermédiaires et terminales
Objectif : Découvrir les transformations et traitements possibles avec les Streams.
Recherches :
• Différence entre une opération intermédiaire et une opération terminale.
• Explication des méthodes :
o filter()
o map()
o sorted()
o distinct()
o limit()
o forEach()
o collect()
Exercice pratique :
À partir d’une liste de noms, afficher uniquement les noms commençant par une lettre
donnée, triés par ordre alphabétique.
3. Manipulation avancée des Streams
Objectif : Explorer les méthodes avancées et comprendre leur impact.
Recherches :
• Différence entre map() et flatMap().
• Explication du fonctionnement de reduce() et des cas d’usage.
• Différence entre un Stream séquentiel et un Stream parallèle (parallelStream()).
Exercice pratique :
À partir d'une liste de phrases, transformer chaque phrase en une liste de mots distincts et
afficher tous les mots uniques.
4. Collecte et regroupement des résultats avec Collectors
Objectif : Apprendre à collecter et regrouper les données efficacement.
Recherches :
• Utilisation de Collectors.toList(), Collectors.toSet(), Collectors.toMap().
• Explication de Collectors.groupingBy() et Collectors.partitioningBy().
Exercice pratique :
À partir d’une liste d’employés (nom, département, salaire), regrouper les employés par
département et calculer le salaire moyen de chaque département.