Hallo ihr Lieben,
vielleicht hat einer von euch Lust mir bei meiner Fehlersuche zu helfen?
Bei dieser getMaxOF Methode werden einzelne Apartments ausgegeben. Es müssten aber auch Listen sein, da es mehrere Apartments mit zB der höchsten Miete geben kann …
Teil 1 (Hilfsmethode)
Teil 2 (Methode mit Fehler aber kA warum)
vielleicht hat einer von euch Lust mir bei meiner Fehlersuche zu helfen?
Bei dieser getMaxOF Methode werden einzelne Apartments ausgegeben. Es müssten aber auch Listen sein, da es mehrere Apartments mit zB der höchsten Miete geben kann …
Teil 1 (Hilfsmethode)
Java:
public int getMaxFromIntegerList(List<Integer> integerList, int getMin){
/*
* This method returns the index (int) of the highest int from integerList.
* Can also be used to return min. value element of given list.
* To do that min{givenIntegerList} is definded as max(givenIntegerList + (0 - max{givenIntegerList} )}}
* max. Element of given list [min -> max of (max - list elements)]
* Example array1[1,2,3]
* for max. value: integerList = [1,2,3], getMin = 0; => returns 3
* for min. value: integerList = [1,2,3], getMin = 0 - getMaxFromIntegerList([1,2,3], 0); => returns 1
*/
int indexOfMax = 0;
int currentIndex = 0;
int valueMax = 0;
int minOrMax = 1;
Iterator<Integer> it = integerList.iterator();
if(getMin == 0){
minOrMax = -1;
}
while(it.hasNext()){
if((getMin - minOrMax*(it.next())) > valueMax){
valueMax = it.next();
indexOfMax = currentIndex;
}
currentIndex++;
}
return(currentIndex
Teil 2 (Methode mit Fehler aber kA warum)
Java:
public Apartment getBiggestApartment(){
return(apartments.get(getMaxFromIntegerList(list -> {apartments.stream()
.map(apartment -> apartment.getSquareMeter())
.toArray(Integer[]::new);
}, 0)));