1.4 KiB
1.4 KiB
Interface Comparable
interface Comparable<T> {
int compareTo(T other);
}
compareTo()
um Objekte miteinander zu vergleichen
<0
, wenn anderes Objekt "größer"=0
, wenn gleich>0
, wenn anderes Objekt "kleiner" ist
Interface Comparator
interface Comparator<T> {
int compare(T object1, T object2);
}
compare()
vergleicht zwei Objekte
class SortByHouseNumber implements Comparator<Adress> {
public int compare(Adress a1, Adress a2){
return a.getHouseNumber - b.getHouseNumber;
}
}
Collections.sort
Anwendung mit Collections.sort:
-
über die natürliche Ordnung (compareTo())
Collections.sort( List<T> list )
-
mit Hilfe einer Comparators (compare())
Collections.sort( List<T> list, Comparator<T> c )
Aufgaben
-
Implementiere einen
Comparator<Animal> SortByHealth
, welcher die Tiere nach aufsteigenderhealth
sortiert. -
Implementiere einen
Comparator<Animal> SortByAge
, welche die Tiere nach absteigendem Alter sortiert. -
Der Shepherd soll eine Methode
getSortedByAscendingHealth()
undgetSortedByDescendingAge()
anbieten, welcher die Liste umsortiert und das Ergebnis zurückgibt.