import java.util.ArrayList; import java.util.List; public class GebietsListe { private List gebiete = new ArrayList<>(); public GebietsListe(List gebiete) { this.gebiete = gebiete; } public Gebiet getGebietMinDurchschnittEinkommen() { return gebiete.stream() .filter(g -> g.getDurchschnittsEinkommen() != -1) .min((g1, g2) -> g1.getDurchschnittsEinkommen() - g2.getDurchschnittsEinkommen()) .get(); } public Gebiet getGebietMaxEinwohner() { return gebiete.stream() .filter(g -> g.getDurchschnittsEinkommen() != -1) .max((g1, g2) -> g1.getAnzahlEinwohner() - g2.getAnzahlEinwohner()) .get(); } public int getAnzahlGesamt() { return gebiete.size(); } public int getAnzahlUnvollstaendig() { return (int) gebiete.stream() .filter(g -> g.getDurchschnittsEinkommen() == -1 || g.getGesamtEinkommen() == -1) .count(); } public List getGebietNachNamen(String namensanfang) { return gebiete.stream() .filter(g -> g.getName().startsWith(namensanfang)) .toList(); } }