package Klausur;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.stream.Collectors;

public class Bauobjekt {
	private int baujahr;
	private double grundrissFlaeche;
	private String besitzer;

	public Bauobjekt(int baujahr, double grundrissFlaeche, String besitzer) {
		super();
		this.baujahr = baujahr;
		this.grundrissFlaeche = grundrissFlaeche;
		this.besitzer = besitzer;
	}

	public int getBaujahr() {
		return baujahr;
	}

	public void setBaujahr(int baujahr) {
		this.baujahr = baujahr;
	}

	public double getGrundrissFlaeche() {
		return grundrissFlaeche;
	}

	public void setGrundrissFlaeche(double grundrissFlaeche) {
		this.grundrissFlaeche = grundrissFlaeche;
	}

	public String getBesitzer() {
		return besitzer;
	}

	public void setBesitzer(String besitzer) {
		this.besitzer = besitzer;
	}
	
	

	@Override
	public String toString() {
		return "Bauobjekt [baujahr=" + baujahr + ", grundrissFlaeche=" + grundrissFlaeche + ", besitzer=" + besitzer
				+ "]";
	}

	public static void main(String[] args) {
		ArrayList <Bauobjekt> bos = new ArrayList<>();
		
		// Beispielobjekte für Bauobjekte
	    Bauobjekt haus1 = new Bauobjekt(1995, 120.5, "Max Mustermann");
	    Bauobjekt haus2 = new Bauobjekt(2008, 250.0, "Sabine Müller");
	    Bauobjekt haus3 = new Bauobjekt(2015, 80.75, "Ali Ahmed");
	    Bauobjekt haus4 = new Bauobjekt(1980, 300.0, "Firma XYZ GmbH");
	    Bauobjekt haus5 = new Bauobjekt(2021, 150.25, "Sara Schmidt");

	    // Objekte zur Liste hinzufügen
	    bos.add(haus1);
	    bos.add(haus2);
	    bos.add(haus3);
	    bos.add(haus4);
	    bos.add(haus5);
	    
	    ArrayList<String> arr = bos.stream()
	    		.sorted(Comparator.comparingInt(ob -> ob.getBaujahr()))
	    		.filter(ob -> ob.getGrundrissFlaeche() < 100)
	    		.map(ob -> ob.toString())
	    		.collect(Collectors.toCollection(ArrayList::new));
	    
	    arr.forEach(System.out::println);

	}

}
