Ich habe derzeit eine TXT-Datei, die ich lesen und ausgeben muss, basierend auf dem, was drin ist. Ich habe derzeit die Datei zum Öffnen und Speichern jeder Zeile in der Datei in eine ArrayList.Sortierung einer ArrayList nach dem zweiten Wort in einer Zeichenkette
Die TXT-Datei ist wie folgt eingerichtet:
- 2380213012999 1508434343432 david tot
- 4327482397488 7439857934858 john lebendig
- 3857948998099 2222783749887 martin getötet Kelly
- 3857948998099 2222783749887 john getötet david
Aktueller Code;
{
try {
File file = new File("input.txt");
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
StringBuffer stringBuffer = new StringBuffer();
String line;
ArrayList<String> txtline = new ArrayList<String>();
while ((line = bufferedReader.readLine()) != null) {
txtline.add(line);
System.out.println(txtline);
}
fileReader.close();
System.out.println(stringBuffer.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
}
Ich frage mich nur, ob es einen Weg gibt, jede Textzeile von der zweiten großen Zahl zu sortieren, ich habe geschaut und ich kann einfach nicht, etwas zu finden scheinen. Ein Punkt in die richtige Richtung oder eine Anleitung wäre erstaunlich, da ich momentan ratlos bin, da ich dies tun muss, bevor ich weiterkomme.
Eine im Allgemeinen eine 'Comparator' Implementierung für das Sortieren von Objekten in andere als ihre natürlichen Ordnung zu schaffen, definiert (einschließlich, wenn sie keine natürlichen haben Auftrag). Sie können eine Instanz eines solchen 'Comparators' zusammen mit' Collections.sort() 'verwenden, um Ihre' List' zu sortieren. –
Aber aus Effizienz würde ich vorschlagen, die Sortierschlüssel im Voraus zu analysieren und sie neben den entsprechenden Strings in Objekten einer Klasse zu speichern, die Sie für diesen Zweck definieren. Dann sortiere * diese *. –