## Interface Comparable ```java interface Comparable { 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 ```java interface Comparator { int compare(T object1, T object2); } ``` `compare()` vergleicht zwei Objekte ```java class SortByHouseNumber implements Comparator { public int compare(Adress a1, Adress a2){ return a.getHouseNumber - b.getHouseNumber; } } ``` --- ## Collections.sort sortiert in aufsteigender Reihenfolge 1. über die natürliche Ordnung (compareTo()) `Collections.sort( List list )` 2. mit Hilfe einer Comparators (compare()) `Collections.sort( List list, Comparator c )` --- ## Aufgaben 1) Implementiere einen `Comparator SortByHealth`, welcher die Tiere nach aufsteigender `health` sortiert. 2) Implementiere einen `Comparator SortByAge`, welche die Tiere nach absteigendem Alter sortiert. 3) Der Shepherd soll eine Methode `getSortedByAscendingHealth()` und `getSortedByDescendingAge()` anbieten, welcher die Liste umsortiert und das Ergebnis zurückgibt.