Hallo, ich sortiere hier für ein Spiel Karten.
Diese Karten sollen nach Reihen sortiert werden.
Also 1,2,3,4,5,6,7,8,9,10 ... ( erst Rot, dann Blau ... usw.)
Das ist bisher meine Lösung und sie funktioniert wunderbar. Aber hat einer noch einen anderen Ansatz wie man sowas sortieren könnte.
In Collection.sort ... macht das Comparable nur eine > und sortiert ascendent.
grüße spin
Diese Karten sollen nach Reihen sortiert werden.
Also 1,2,3,4,5,6,7,8,9,10 ... ( erst Rot, dann Blau ... usw.)
Java:
public void sortInRows()
{
LinkedList<ITile> redTile = new LinkedList<ITile>();
LinkedList<ITile> blueTile = new LinkedList<ITile>();
LinkedList<ITile> blackTile = new LinkedList<ITile>();
LinkedList<ITile> orangeTile = new LinkedList<ITile>();
LinkedList<ITile> jokerTile = new LinkedList<ITile>();
for(int i = 0; i < this.tilesOnRack.size(); i++)
{
if(this.tilesOnRack.get(i).getColor().equals("red"))
redTile.add(this.tilesOnRack.get(i));
else if(this.tilesOnRack.get(i).getColor().equals("black"))
blackTile.add(this.tilesOnRack.get(i));
else if(this.tilesOnRack.get(i).getColor().equals("blue"))
blueTile.add(this.tilesOnRack.get(i));
else if(this.tilesOnRack.get(i).getColor().equals("orange"))
orangeTile.add(this.tilesOnRack.get(i));
else
jokerTile.add(this.tilesOnRack.get(i));
}
Collections.sort(redTile);
Collections.sort(blueTile);
Collections.sort(blackTile);
Collections.sort(orangeTile);
this.tilesOnRack.clear();
this.tilesOnRack.addAll(redTile);
this.tilesOnRack.addAll(blueTile);
this.tilesOnRack.addAll(blackTile);
this.tilesOnRack.addAll(orangeTile);
this.tilesOnRack.addAll(jokerTile);
Das ist bisher meine Lösung und sie funktioniert wunderbar. Aber hat einer noch einen anderen Ansatz wie man sowas sortieren könnte.
In Collection.sort ... macht das Comparable nur eine > und sortiert ascendent.
grüße spin