Hallo!
Ich habe ein Array und muss es zweimal nach verschiedenen Spalten sortieren. Mein (zugegebenermaßen) komisches Problem ist, dass ich nicht weiß wie ich die sortierten Arrays dann abspeichern kann. Das ursprüngliche ist ja gespeichert, aber wie kann ich die neu sortieren abspeichern? Wie erstelle ich ein leeres Array und überschreibe es komplett?
Ich habe ein Array und muss es zweimal nach verschiedenen Spalten sortieren. Mein (zugegebenermaßen) komisches Problem ist, dass ich nicht weiß wie ich die sortierten Arrays dann abspeichern kann. Das ursprüngliche ist ja gespeichert, aber wie kann ich die neu sortieren abspeichern? Wie erstelle ich ein leeres Array und überschreibe es komplett?
Code:
public static List<Flughafen> leseCsvDaten() {
try (FileReader fr = new FileReader("./my-module/src/airports.csv");
BufferedReader reader = new BufferedReader(fr)){
return processFile(reader);
} catch (FileNotFoundException e){
e.printStackTrace();
out.println("Daten konnten nicht gelesen werden. Das ist schade.");
exit(0);
} catch (IOException e) {
e.printStackTrace();
out.println("Daten konnten nicht gelesen werden. Das ist schade.");
exit(0);
}
return null;
}
Code:
private static List<Flughafen> processFile(BufferedReader reader) throws IOException{
String header = reader.readLine();
String line;
List<Flughafen> flughaefen = new ArrayList<>();
while ((line = reader.readLine()) != null){
//System.out.println(line);
//String[] tokens = line.split(";");
Flughafen m = new Flughafen(line);
//m.id = (int) Float.parseFloat(tokens[0]);
flughaefen.add(m);
}
System.out.println("Gelesene Flughäfen: " + flughaefen.size());
return flughaefen;
}
Code:
// Einlesen der Daten in eine map Datenstruktur
List<Flughafen> flughaefen = leseCsvDaten();
Collections.sort(flughaefen, (a1,a2) -> {return a1.getCountry().compareTo(a2.getCountry());});