/*
#	Le livre de Java 1er langage
#	A. Tasso
#	Chapitre 10 : Collectionner un nombre indetermine d'objets
#	Section  : Les streams et les expressions lambda
#	Fichier  : Cursus.java
#	Class    : Cursus
*/

import java.util.*;
 public class Cursus  {
 private ArrayList<Etudiant>  liste;
 public Cursus()   {
 	liste = new ArrayList<Etudiant>();		
 }
 public void ajouteUnEtudiant() {
	liste.add(new Etudiant());
 }
 public void afficheLesEtudiants() 	{
	int nbEtudiants = liste.size();
	if (nbEtudiants > 0) {
                  for (Etudiant e : liste) e.afficheUnEtudiant();
	}
	else System.out.println("Il n'y a pas d'etudiant dans cette liste");
 }
 // 
 public void rechercheUnEtudiant() 	{
    // creation d'un flux de traitement
	liste.stream() // Pour chaque element du flux, rechercher ceux commençant par "A"
    .filter(e -> e.quelNom().startsWith("A")) 
    .forEach(e -> e.afficheUnEtudiant()); // Pour chaque element commençant par "A"
 }
 

 
}