From 3049e30d62430d1875ba4b0f4ce08bc2a2466940 Mon Sep 17 00:00:00 2001 From: acp059 Date: Tue, 12 May 2020 14:56:15 +0200 Subject: [PATCH 1/2] Add Compare --- compare.md | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/compare.md b/compare.md index 7d551eb..d041435 100644 --- a/compare.md +++ b/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 { + 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. \ No newline at end of file From 0bdf65de78c3d076f63dd6175c832cf72f421338 Mon Sep 17 00:00:00 2001 From: acp059 Date: Tue, 12 May 2020 14:59:02 +0200 Subject: [PATCH 2/2] Update Compare --- compare.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/compare.md b/compare.md index d041435..f331284 100644 --- a/compare.md +++ b/compare.md @@ -16,9 +16,9 @@ interface Comparable { `compareTo()` um Objekte miteinander zu vergleichen -- <0, wenn anderes Objekt "größer" -- =0, wenn gleich -- >0, wenn anderes Objekt "kleiner" ist +- `<0`, wenn anderes Objekt "größer" +- `=0`, wenn gleich +- `>0`, wenn anderes Objekt "kleiner" ist --- @@ -43,7 +43,7 @@ class SortByHouseNumber implements Comparator { --- ## Collections.sort -sortiert in aufsteigender Reihenfolge +Anwendung mit Collections.sort: 1. über die natürliche Ordnung (compareTo()) `Collections.sort( List list )`