package L1; public class Grupa implements Predicate { Student tab[]; double srmin; public Grupa(int liczba) { tab = new Student[liczba]; } public Grupa(double srednia1) { srmin = srednia1; } public void dodaj(Student s) { // metoda do dodawania studentow for (int i = 0; i < tab.length; i++) { while (tab[i] == null) { tab[i] = s; } } } @Override public boolean evaluate(Object ob) { return ((Student) ob).srednia > srmin; } public void Filtruj() { Iterator it = new Iterek(tab); it.first(); Iterator fit = new Filter(it, new Grupa(3.20)); fit.first(); while (!fit.isDone()) { Student st = (Student) fit.current(); System.out.println(st); fit.next(); } } public static void main(String[] args) { Grupa uczelnia = new Grupa(5); // tworze obiekt i dodaje studentow uczelnia.dodaj(new Student("Czajkowski", 4.50)); uczelnia.dodaj(new Student("Marecki", 3.0)); uczelnia.dodaj(new Student("Stefaniak", 4.20)); uczelnia.dodaj(new Student("Zdziwsław", 4.0)); uczelnia.dodaj(new Student("Borek", 3.7)); uczelnia.Filtruj(); } }