Add Compare
This commit is contained in:
parent
f9f23466ff
commit
3049e30d62
57
compare.md
57
compare.md
|
@ -5,3 +5,60 @@ url: https://git.haw-hamburg.de/pm1-tutorium/slides
|
||||||
header: Programmieren 1 **Tutorium**
|
header: Programmieren 1 **Tutorium**
|
||||||
footer: Henri Burau und Eva Meinen
|
footer: Henri Burau und Eva Meinen
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
## Interface Comparable
|
||||||
|
|
||||||
|
```java
|
||||||
|
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
|
||||||
|
|
||||||
|
```java
|
||||||
|
interface Comparator<T> {
|
||||||
|
int compare(T object1, T object2);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
`compare()` vergleicht zwei Objekte
|
||||||
|
|
||||||
|
```java
|
||||||
|
class SortByHouseNumber implements Comparator<Adress> {
|
||||||
|
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<T> list )`
|
||||||
|
|
||||||
|
|
||||||
|
2. mit Hilfe einer Comparators (compare())
|
||||||
|
`Collections.sort( List<T> list, Comparator<T> c )`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
## Aufgaben
|
||||||
|
|
||||||
|
1) Implementiere einen `Comparator<Animal> SortByHealth`, welcher die Tiere nach aufsteigender `health` sortiert.
|
||||||
|
|
||||||
|
2) Implementiere einen `Comparator<Animal> 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.
|
Loading…
Reference in New Issue