passivesEinkommen/src/GebietsListe.java

41 lines
1.2 KiB
Java
Raw Normal View History

2022-12-02 15:07:08 +01:00
import java.util.ArrayList;
import java.util.List;
2022-12-02 14:54:14 +01:00
public class GebietsListe {
2022-12-09 11:21:35 +01:00
private List<Gebiet> gebiete = new ArrayList<>();
2022-12-02 15:07:08 +01:00
2022-12-09 11:21:35 +01:00
public GebietsListe(List<Gebiet> gebiete) {
this.gebiete = gebiete;
2022-12-02 15:07:08 +01:00
}
2022-12-09 11:21:35 +01:00
public Gebiet getGebietMinDurchschnittEinkommen() {
return gebiete.stream()
.filter(g -> g.getDurchschnittsEinkommen() != -1)
.min((g1, g2) -> g1.getDurchschnittsEinkommen() - g2.getDurchschnittsEinkommen())
.get();
2022-12-02 15:07:08 +01:00
}
2022-12-09 11:21:35 +01:00
public Gebiet getGebietMaxEinwohner() {
return gebiete.stream()
.filter(g -> g.getDurchschnittsEinkommen() != -1)
.max((g1, g2) -> g1.getAnzahlEinwohner() - g2.getAnzahlEinwohner())
.get();
2022-12-02 15:07:08 +01:00
}
2022-12-09 11:21:35 +01:00
public int getAnzahlGesamt() {
return gebiete.size();
2022-12-02 15:07:08 +01:00
}
2022-12-09 11:21:35 +01:00
public int getAnzahlUnvollstaendig() {
return (int) gebiete.stream()
.filter(g -> g.getDurchschnittsEinkommen() == -1 || g.getGesamtEinkommen() == -1)
.count();
2022-12-02 15:07:08 +01:00
}
2022-12-09 11:21:35 +01:00
public List<Gebiet> getGebietNachNamen(String namensanfang) {
return gebiete.stream()
.filter(g -> g.getName().startsWith(namensanfang))
.toList();
2022-12-02 15:07:08 +01:00
}
2022-12-02 14:54:14 +01:00
}