Gemischte Datensätze als mehrstellige Zahl sortieren

Status
Nicht offen für weitere Antworten.

tobitobsen82

Mitglied
Hallo,

ich habe eine .txt - Datei mit Datensätzen wie folgt:

spielerPunkte;spielerName

Bsp:

12;Hans
27;Peter
3;Johann
123;Uschi

Das Einlesen stellt kein Problem dar, nur wenn ich das ganze in einer LinkedList<String> ablege und danach mit Collections.sort() sortiere, wird nur die 1. Stelle beachtet. Also hat in obigem Beispiel Johann mehr Punkte als alle anderen, wenngleich er tatsächlich die wenigsten hat. In zwei Arrays splitten könnte zwar eine Lösung sein, aber dann wirds glaube ich mit der Zuordnung der Punkte zum Spieler nach der Sortierung (oder besser währenddessen, also parallel?) kompliziert?!

Danke für euren Rat!
 

SebiB90

Top Contributor
erstell eine Klasse Spieler mit den Attributen name und spieler
in dieser klasse implementierst du dann noch das Interface comparable

du ließt die datei ein, splittest die werte und erzeugst damit die Spieler Objekte
die dann in die Liste rein, sortieren lassen und fertig
 

tobitobsen82

Mitglied
Vielen Dank für die Antworten.

Da ich nicht viel drumherum bauen wollte (keine eigenen Objekte erzeugen), habe ich mich für den eigenen Comparator entschieden und es wie folgt gelöst:

Code:
	static class highscoreComparator implements Comparator {
		public int compare(Object o1, Object o2) {
			String[] temp1 = o1.toString().split(";");
			String[] temp2 = o2.toString().split(";");
			if (Integer.parseInt(temp1[0]) > Integer.parseInt(temp2[0])) {
				return 0;
			} else {
				return 1;
			}
		}
	}

Besten Dank & Gruß
Tobias
 

Leroy42

Top Contributor
ARadauer hat gesagt.:
Da ich nicht viel drumherum bauen wollte (keine eigenen Objekte erzeugen),
großer fehler!

Mitneffen (wahlweise auch ...tanten oder ...onkels) :noe:
Zwei split- und parseInt-Aufrufe in jedem Aufruf einer compare-Methode auszuführen,
halte ich für wesentlich mehr overdosed als eine eigene Klasse zu erstellen, die in ihrer
compare-Methode nur ints verarbeiten muß.

(Oder habe ich dich jetzt mißinterpretiert? ???:L )
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Gemischte Arrays Java Basics - Anfänger-Themen 3
O Anzahl Datensätze ausgeben Java Basics - Anfänger-Themen 5
S Algorithmus Datensätze einfügen wenn... Java Basics - Anfänger-Themen 26
E Anzahl Datensätze in Textfeld Java Basics - Anfänger-Themen 5
J Datensätze aus Txt Datei auslesen - Datensätze durch stöbern Java Basics - Anfänger-Themen 5
P Doppelte Datensätze aus CSV-Datei löschen Java Basics - Anfänger-Themen 17
S CheckIn / CheckOut für Datensätze Java Basics - Anfänger-Themen 2
S Datensätze filtern Java Basics - Anfänger-Themen 3
M JSON Datensätze aus Website in Tabelle Java Basics - Anfänger-Themen 17
F Sortieren von Datensätze Java Basics - Anfänger-Themen 5
J Datensätze aus einer DB als Objekte erzeugen und in ArrayList abspeichern Java Basics - Anfänger-Themen 9
K Datensätze in der Datenbank zählen Java Basics - Anfänger-Themen 32
K Anzahl aller Datensätze anzeigen ? Java Basics - Anfänger-Themen 5
S Datensätze einzeln auslesen (Strings) Java Basics - Anfänger-Themen 6
T datensätze in gui anzeigen Java Basics - Anfänger-Themen 4
P SQL - Abfrage - Anzahl an Datensätze. Java Basics - Anfänger-Themen 5
G Komplexe Datenstruktur (Liste heterogener Datensätze) ? Java Basics - Anfänger-Themen 2
I Datenmengen in datensätze reduzieren Java Basics - Anfänger-Themen 7
F Doppelte Datensätze zusammenziehen Java Basics - Anfänger-Themen 2
bernd Datensätze in Textdatei speichern? Java Basics - Anfänger-Themen 39
B Datei öffnen , Datensätze auslesen und damit Rechnen ? Java Basics - Anfänger-Themen 2
B Mehrstellige Zahlen im Integerarray!? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben