Comparator

M

midnattens

Gast
Hallo und schönen Abend zusammen!

Ich habe zwar schon etliche Jahre Programmiererfahrung aber in Sachen Java bin ich blutiger Anfänger.
Deshalb komme ich gleich zur Sache

Ich habe eine Liste:

Java:
private List<String> selectedWords = new ArrayList<String>();
selectedWords.add("Katalysator");
selectedWords.add("Buschenschank");
selectedWords.add("Firma");
selectedWords.add("Freizeit");

Collections.sort(selectedWords, new LengthComparator());

class LengthComparator implements Comparator<List<String>> {
	public int compare(List<String> o1, List<String> o2) {
		return o2.size() - o1.size();
	}
}

Leider bekomme ich hier einen Fehler und weiss nicht warum?
The method sort(List<T>, Comparator<? super T>) in the type Collections is not applicable for the arguments (List<String>, LengthComparator)
und kann damit nichts anfangen...

Vielen Dank für eure Unterstützung!
Danke
midnattens
 
M

Marcinek

Gast
Ich glaube, dass der Comperator, wenn du ihn typisieren willst, dann Comperator<String> heißen muss.

Es werden immer die Objekte innerhalb der Liste verglichen und keine Listen, es sei denn du hast eine Collection von Listen.
 

eRaaaa

Top Contributor
Mhm, was genau hast du denn da vor?

Comparator<List<String>> geht an dieser Stelle eben nicht, wiel du eine Liste von Strings hast, und nicht eine Liste von Listen mit Strings, daher geht dein Comparator dort nicht.

Hättest du List<List<String>> selectedWords = new ArrayList<List<String>>(); so etwas, würde dien Comparator nach der Längen der Listen soertieren..aber was genau willst du machen? :)
 
M

midnattens

Gast
Hallo!

Ich möchte die Liste nach Stringlängen sortieren, nichts weiter...

Vielen Dank!
midnattens
 

Landei

Top Contributor
Ein Comparator<X> kann zwei X-Objekte miteinander vergleichen. Collection.sort() erwartet eine Liste von X-Objekten und einen entsprechenden Comparator<X>.

Dein X für den Comparator ist nun List<String>. Damit kann sort aber nur eine List<List<String>> sortieren. Du übergibst aber nur eine List<String>. Um die sortieren zu können, bräuchstest du einen Comparator<String>, nicht Comparator<List<String>>.
 
M

Marcinek

Gast
Java:
private List<String> selectedWords = new ArrayList<String>();
selectedWords.add("Katalysator");
selectedWords.add("Buschenschank");
selectedWords.add("Firma");
selectedWords.add("Freizeit");
 
Collections.sort(selectedWords, new LengthComparator());
 
class LengthComparator implements Comparator<String> {
    public int compare(String o1, String o2) {
        return o2.lenght() - o1.lenght();
    }
}
 

eRaaaa

Top Contributor
Java:
class LengthComparator implements Comparator<String> {
	@Override
	public int compare(String o1, String o2) {
		return o2.length() - o1.length();
	} 
}

EDIT: tja, wieder zu langsam...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
richis-fragen Mehrere Spalten mit Comparator sortieren Java Basics - Anfänger-Themen 2
N Spezielle frage zum Comparator Java Basics - Anfänger-Themen 6
M Comparator Java Basics - Anfänger-Themen 25
M Comparator Java Basics - Anfänger-Themen 4
berserkerdq2 Wie lege ich ein Attribut comparator an? Java Basics - Anfänger-Themen 13
W Personen sortieren mit Comparator Java Basics - Anfänger-Themen 9
H Comparator Fehlermeldung Java Basics - Anfänger-Themen 5
V Collections ArrayList mit Comparator sortieren Java Basics - Anfänger-Themen 16
B Collections Objektreferenz-ID in der Ausgabe (Comparator Interface) Java Basics - Anfänger-Themen 2
R Methode zwei Sortierkriterien der Klasse Comparator übergeben Java Basics - Anfänger-Themen 4
O Lambda Ausdrücke in einem Comparator Java Basics - Anfänger-Themen 4
A Priority Queue / Comparator Java Basics - Anfänger-Themen 6
I Comparator<T> Interface als Methodenparamter Java Basics - Anfänger-Themen 4
L Binäre Suche mit Comparator Java Basics - Anfänger-Themen 5
N Comparable bzw Comparator Java Basics - Anfänger-Themen 5
J Comparator Java Basics - Anfänger-Themen 21
A Comparator Java Basics - Anfänger-Themen 4
G Interface java.util.Comparator: Wieso muss nur die Methode compare() implementiert werden Java Basics - Anfänger-Themen 2
V Comparator Java Basics - Anfänger-Themen 16
S Integer/Value-Paar in Prio-Queue ohne Comparator Java Basics - Anfänger-Themen 5
M Comparable und Comparator nicht ganz klar Java Basics - Anfänger-Themen 1
B Comparable & Comparator Java Basics - Anfänger-Themen 9
C Comparator und private Variablen Java Basics - Anfänger-Themen 7
S Comparator für Generiks Java Basics - Anfänger-Themen 6
Helgon Interface Comparator wird nicht instanziert Java Basics - Anfänger-Themen 3
C Comparator mit Double Werten? Java Basics - Anfänger-Themen 12
S Unterschied Comparable und Comparator Java Basics - Anfänger-Themen 2
E Comparator sortiert falsch... Java Basics - Anfänger-Themen 2
B OOP Logikhilfe zum Comparator 2 Java Basics - Anfänger-Themen 12
B OOP Logikhilfe zum Comparator Java Basics - Anfänger-Themen 11
G Comparator Problem Java Basics - Anfänger-Themen 5
X eigener Mergesort auf generischen Typen mit Comparator Java Basics - Anfänger-Themen 6
H Comparable und Comparator Java Basics - Anfänger-Themen 22
Z Comparator Verständnisfrage Java Basics - Anfänger-Themen 5
B OOP Comparator - Sortierung "optisch" Darstellen Java Basics - Anfänger-Themen 17
A JTable sortieren mit einem Comparator Java Basics - Anfänger-Themen 2
S Comparator / Comparable ? Java Basics - Anfänger-Themen 3
G Objekte mit dem Attribut title mit Comparator sortieren Java Basics - Anfänger-Themen 5
P unchecked conversion to conform to Comparator Java Basics - Anfänger-Themen 3
G Comparator- methode compare exception werfen Java Basics - Anfänger-Themen 4
B interface Comparator Java Basics - Anfänger-Themen 4
M Hilfe bei der Erstellung der Comparator Klasse Java Basics - Anfänger-Themen 10
M ArrayList sortieren mittels Comparator Java Basics - Anfänger-Themen 10
G Sortieren ohne Comparator? Java Basics - Anfänger-Themen 4
G Comparator Java Basics - Anfänger-Themen 10
S Frage zu Comparator Java Basics - Anfänger-Themen 3
G ArrayList und Comparator Java Basics - Anfänger-Themen 6
M Comparator - Sortierkriterium Java Basics - Anfänger-Themen 11
L Comparator Java Basics - Anfänger-Themen 5
T Problem mit Comparator! Java Basics - Anfänger-Themen 7
C Anstatt Spalte, Zeile mit Comparator sortieren . Java Basics - Anfänger-Themen 5
B Liste sortieren mit Comparator Java Basics - Anfänger-Themen 2
D Frage zu Collection.sort bzw. Comparator u. Comparable Java Basics - Anfänger-Themen 2
S JTable mit Comparator sortieren, die Frage ist wo? Java Basics - Anfänger-Themen 4
B Wann Comparator und wann Comparable Java Basics - Anfänger-Themen 6
W Comparator Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben