Hey ich bin gerade am lernen für meine Klausur am Dienstag und gehen ein paar altklausuren durch. Eine aufgabe ist :
Schreiben Sie einen Comparator<City> byCityDesc als Lambda-Ausdruck, so dass für eine
List<City> cities der Aufruf von Collections.sort(cities, byNameDesc) die Liste
nach Namen der Stadt absteigend sortiert (also zuerst die im Alphabet am weitesten hinten
stehende Stadt).
Das ist meine Klasse City:
Hier hab ich Elemente erstellt und eingefügt:
Ich hab das mal für die Postcode Parameter gemacht
Aber wie kriege ich das jetzt für die Name der Städte(also Strings) hin und ist das für PostCode soweit richtig?
Schreiben Sie einen Comparator<City> byCityDesc als Lambda-Ausdruck, so dass für eine
List<City> cities der Aufruf von Collections.sort(cities, byNameDesc) die Liste
nach Namen der Stadt absteigend sortiert (also zuerst die im Alphabet am weitesten hinten
stehende Stadt).
Das ist meine Klasse City:
Java:
public class City {
public String name;
public int postCode;
}
Code:
List<City> cities = new ArrayList<>();
City stg = new City("stg",123456);
City ham = new City("ham",541231);
City fra = new City("fra",819237);
City mun = new City("mun",192309);
cities.add(stg);
cities.add(ham);
cities.add(fra);
cities.add(mun);
Ich hab das mal für die Postcode Parameter gemacht
Code:
Comparator<City> compare = (a,b) -> a.getPostCode() - b.getPostCode();
cities.sort(compare);
cities.forEach(city -> System.out.println(city.getPostCode()));
Aber wie kriege ich das jetzt für die Name der Städte(also Strings) hin und ist das für PostCode soweit richtig?