Arrays.sort Problem

Milkaselnuss

Aktives Mitglied
Hallo,
ich bin z.Z. dabei eine kleine Spieltabellen zu erstellen. Diese wird dabei in eine JTextArea übertragen.
Meine Zeilen sind dabei immer nach dem selben Aufbau: zuerst Punkte, Tordifferenz, Tore, Gegentore und der Teamname.
Pkt Tdiff T GT Team

Eine Zeile ist dabei immer ein ganzer String und alle Zeilen befinden sich in einem String[].
Über
Java:
Arrays.sort(String[], Collections.reverseOrder());
sortiere ich anschließend die Zeilen nach Punkten.
Wenn allerdings zwei Teams die selbe Punktzahl haben, wird ja bekanntlich nach der Tordifferenz geschaut und an diesem Punkt hänge ich nun fest.
Bei positiven Tordifferenzen habe ich kein Problem, aber bei negativen Tordifferenzen wird das Minuszeichen (logischerweise) ignoriert.

Hat irgendjemand Ratschläge, wie ich dieses Problem lösen kann?

MfG, Milka
 
Zuletzt bearbeitet:
Dann arbeite nicht mit Strings, sondern nutze die Vorteile, die die OOP bietet.

Du kannst die benötigten Werte in einer entsprechenden Klasse kapseln:
Java:
public Class Ergebnis {
    private int punkte;
    private int tore;
    private int gegentore;
    private Team team;
}

Für diese implementierst du compareTo und/oder schreibst einen eigenen Comparator, und anschließend sortierst du mit Hilfe davon.
 
Zuletzt bearbeitet:
Ich hatte die Werte bereits davor in einer eigenen Klasse und meistens funktioniert die Sortierung von Strings auch ohne Probleme (in diesem Fall jedoch nicht).
Habe mich jetzt etwas mit Comparator und Comparable beschäftigt und das Problem nun erfolgreich mit einem extra Comparator beseitigt.

Vielen Dank!
 

Zurück
Oben