Hallo zusammen,
Wir haben für heute eine Aufgabe abzugeben welche ich einfach nicht richtig verstehe.
Ich soll eine Generische Klassenmethode max2() schreiben die das zweitgrößte Element einer Liste liefert.
Was ja so eigentlich recht einfach ist, Array.sort und dann das zweitgrößte ausgben.
Aber die Methode soll eine Liste als Argument bekommen und dann als zweites Argument ein Komparator, der den Vergleich zweier Element definiert.
Wenn weniger als zwei Elemente enthalten sind soll eine IllegalArgumentException geschmissen werden.
bis jetzt hab ich das
ich versteh einfach nicht wie ich den Comparator da nutzen soll ?
hat da einer nen Denkanstoss für mich ?
vielen Dank im voraus
Alex
Wir haben für heute eine Aufgabe abzugeben welche ich einfach nicht richtig verstehe.
Ich soll eine Generische Klassenmethode max2() schreiben die das zweitgrößte Element einer Liste liefert.
Was ja so eigentlich recht einfach ist, Array.sort und dann das zweitgrößte ausgben.
Aber die Methode soll eine Liste als Argument bekommen und dann als zweites Argument ein Komparator, der den Vergleich zweier Element definiert.
Wenn weniger als zwei Elemente enthalten sind soll eine IllegalArgumentException geschmissen werden.
bis jetzt hab ich das
Java:
import java.util.List;
public class ListAlgo {
public static <T> T max2(List<T> liste,Comparator<T> a) throws IllegalArgumentException {
if (liste.size() < 2) throw new IllegalArgumentException("Liste hat weniger als 2 Elemente");
T max2 = liste.get(1);
return max2;
}
}
ich versteh einfach nicht wie ich den Comparator da nutzen soll ?
hat da einer nen Denkanstoss für mich ?
vielen Dank im voraus
Alex
Zuletzt bearbeitet: