public class Filiere extends TreeSet<Etudiant> { public Filiere(Comparator <Etudiant> c) { super(c); } public Filiere() { super(new MoyenneComparator()); }
public void displayAlpha() { List <Etudiant> l = new ArrayList<Etudiant>(); l.addAll(this); Collections.sort(l, new AlphaComparator()); for(Etudiant e: l) { System.out.println(e.getNom() + " " + e.moyenneGenerale()); } }
public void displayMoyenne() { List <Etudiant> l = new ArrayList<Etudiant>(); l.addAll(this); Collections.sort(l, new MoyenneComparator()); for(Etudiant e: l) { System.out.println(e.getNom() + " " + e.moyenneGenerale()); } }
public Etudiant major() { List <Etudiant> l = new ArrayList<Etudiant>(); l.addAll(this); Collections.sort(l, new MoyenneComparator()); return l.get((l.size()-1)); }
public double moyenneMatiere(String m) { double total=0, i=0; for(Etudiant e: this) { total+=e.moyenneMatiere(m); i++; } return (total/i); }
public void addEtudiant(Etudiant e) { this.add(e); } } class MoyenneComparator implements Comparator<Etudiant> { public int compare(Etudiant o1, Etudiant o2) { if (o1.moyenneGenerale()>o2.moyenneGenerale()) return 1; else return -1; } } class AlphaComparator implements Comparator<Etudiant> { public int compare(Etudiant o1, Etudiant o2) { return (o1.getNom()).compareTo(o2.getNom());