Sammlungen.sort() mit Komparator?

import java.util.*;

public class C_2 {
    public static void main(String args[]) {
        String theStrings[] = { "x", "a", "b", "c", "d" };
        List l = Arrays.asList(theStrings);
        Collections.sort(l);                            //line a
        Collections.sort(l, new ThisIsMyThing());       //line b
        System.out.println(l);
    }
}

class ThisIsMyThing implements Comparator {
    public int compare(Object o1, Object o2) {
        String s1 = (String)o1;
        String s2 = (String)o2;

        return -1 * s1.compareTo(s2);
    }
}

Verstehe ich, dass die Klasse C_2 funktioniert die Sortierung basiert auf zwei unterschiedlichen Techniken.
Die eine ist die standard - Collections.sort(l);
Und der andere ist Collections.sort(l,Comparator<>()); ich bin nicht in der Lage zu verstehen, diese Methode "sort". Kann jemand bitte erklären Sie es mir?

Was verstehen Sie nicht? Hast du die Dokumentation gelesen?
Sammlungen.sort(l) // Linie a dies sortiert die Liste nach den natürlichen bestellen, richtig? Sammlungen.sort(l, new ThisIsMyThing()); // Linie b implementiert einen Komparator, in dem die Parameter sind vom Typ object. dann sind Typ gecastet zu string. Der Vergleich erfolgt zwischen den Saiten?
Ja. Beachten Sie, dass Sie sollten mit Generika.

InformationsquelleAutor hakuna12 | 2013-10-30

Schreibe einen Kommentar