Guten Morgen,
bei folgendem Anwendungsfall frage ich mich jedesmal ob es da nicht eine elegantere Methode gibt, die mir allerdings noch nicht bekannt ist:
Ich möchte eine Liste sortieren die Objekte enthält und anschließend zurückgeben.
Ein Beispiel:
Ich habe eine Liste mit Objekten, sagen wir mal 'Auto'. Jedes Auto hat dabei einen bestimmten Titel.
Nun möchte ich die Liste von Autos anhand des Titels sortieren. Momentan geh ich dabei immer über eine HashMap und eine extra Liste. (siehe Code). Gibts da eine elegantere Lösung? Kommt mir doch sehr umständlich vor
bei folgendem Anwendungsfall frage ich mich jedesmal ob es da nicht eine elegantere Methode gibt, die mir allerdings noch nicht bekannt ist:
Ich möchte eine Liste sortieren die Objekte enthält und anschließend zurückgeben.
Ein Beispiel:
Ich habe eine Liste mit Objekten, sagen wir mal 'Auto'. Jedes Auto hat dabei einen bestimmten Titel.
Nun möchte ich die Liste von Autos anhand des Titels sortieren. Momentan geh ich dabei immer über eine HashMap und eine extra Liste. (siehe Code). Gibts da eine elegantere Lösung? Kommt mir doch sehr umständlich vor
Java:
private List<Auto> sortiereAutos() {
ArrayList<Auto> autos = new ArrayList<Auto>();
autos.add(new Auto(1, "Fiat"));
autos.add(new Auto(2, "Opel"));
autos.add(new Auto(3, "Alfa"));
HashMap<String, Auto> tmp = new HashMap<String, Auto>();
ArrayList<String> sortiert = new ArrayList<String>();
for(Auto a : autos) {
tmp.put(a.getTitle(), a),
}
sortiert.addAll(tmp.keySet());
Collections.sort(sortiert);
ArrayList<Auto> sortierteAutos = new ArrayList<Auto>();
for(String title : sortiert) {
sortierteAutos.add(tmp.get(title));
}
return sortierteAutos;
}