Merge branch 'master' of git.haw-hamburg.de:pm1-tutorium/slides
This commit is contained in:
commit
a30ff5c830
57
compare.md
57
compare.md
|
@ -5,3 +5,60 @@ url: https://git.haw-hamburg.de/pm1-tutorium/slides
|
|||
header: Programmieren 1 **Tutorium**
|
||||
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
|
||||
|
||||
Anwendung mit Collections.sort:
|
||||
|
||||
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