Ich habe die folgende Funktion. Es empfängt eine Array-Liste.Java: Erstellen Sie eine separate sortierte Arraylist unter Beibehaltung der ursprünglichen Liste
Auf meiner GUI habe ich eine Schaltfläche, die zwischen zwei Zuständen wechselt. Eine, die die Liste in alphabetischer Reihenfolge sortiert, und eine, die die Liste in der Reihenfolge ihres Erscheinens ausgibt.
Beachten Sie, dass ich die Arraylist aus einer externen Datei befülle, und dass ich diese Datei in einer anderen Funktion öffne, sodass das erneute Öffnen der Datei und das erneute Füllen des Listenarrays mit seinem Inhalt unnötig erscheint.
Wie es jetzt ist, sortiert sich die Liste alphabetisch, aber nicht in der ursprünglichen Reihenfolge.
Wie kann ich eine separate Liste erstellen, die die sortierte Liste enthält, während meine ursprüngliche Liste in Reihenfolge bleibt?
Dank
sortButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
if (sortButton.getText().equals("Sort by Route")){
sortButton.setText("Sort Alphabetically");
Journey value = mapper.get(objectName);
ArrayList stops = value.getNewStop(); //loads an arraylist into stops
System.out.println(stops);
}
}
else if (sortButton.getText().equals("Sort Alphabetically")){
sortButton.setText("Sort by Route");
Journey value = mapper.get(objectName);
ArrayList stopsSorted = value.getNewStop(); // use the arraylist attribute
Collections.sort(stopsSorted);
System.out.println(stopsSorted);
}
}
}
});
Vielen Dank, wird die Antwort in ein paar Minuten akzeptieren. –
Gern geschehen! –
@ JonGoe darauf achten, dass diese Methode einen flachen Klon macht, ist es kein Problem für eine unveränderliche Art (welche "String" ist), aber für den Fall, dass Sie veränderbare Objekte im Inneren halten ... – niceman