Satariel
2008-06-08, 00:28:09
Folgendes:
Es geht um einen Vektor der mit Objekten gefüllt ist, jedes dieser Objekte hat ein paar Integerwerte. Nun möchte ich die Objekte im Vektor nach den Integerwerten sortieren.
Oder etwas konkreter:
Wir haben ein Kartenspiel.
Das Objekt ist die klasse Karten, mit Integerwerten für Wert und Farbe.
Der Vektor ist der Kartenstapel.
Nun möchte ich die Karten im Stapel in Reihenfolge ihrer Werte sortieren. Was tun?
die Idee ist folgende:
In die Karte-Klassendeklaration schreiben public abstract class Karte implements Comparable<Karte>
dann in der Stapel-Klasse:
Collections.sort(Stapel);
Collections.reverse(Stapel);
aber dieser Sortieralgorithmus weiß doch gar nicht dass er nach dem Wert sortieren muss, er könnte ja genausogut nach Farbe sortieren.
Mit einem Array oder einer Liste ginge das recht einfach, aber für einen Vektor sieht Java irgendwie keine Sortierfunktion vor.
Bin für Vorschläge echt dankbar.
Es geht um einen Vektor der mit Objekten gefüllt ist, jedes dieser Objekte hat ein paar Integerwerte. Nun möchte ich die Objekte im Vektor nach den Integerwerten sortieren.
Oder etwas konkreter:
Wir haben ein Kartenspiel.
Das Objekt ist die klasse Karten, mit Integerwerten für Wert und Farbe.
Der Vektor ist der Kartenstapel.
Nun möchte ich die Karten im Stapel in Reihenfolge ihrer Werte sortieren. Was tun?
die Idee ist folgende:
In die Karte-Klassendeklaration schreiben public abstract class Karte implements Comparable<Karte>
dann in der Stapel-Klasse:
Collections.sort(Stapel);
Collections.reverse(Stapel);
aber dieser Sortieralgorithmus weiß doch gar nicht dass er nach dem Wert sortieren muss, er könnte ja genausogut nach Farbe sortieren.
Mit einem Array oder einer Liste ginge das recht einfach, aber für einen Vektor sieht Java irgendwie keine Sortierfunktion vor.
Bin für Vorschläge echt dankbar.