Les Collections.trier() en utilisant un comparateur?

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);
    }
}

Je comprends que la classe C_2 ne tri basée sur deux techniques différentes.
L'une est la norme Collections.sort(l);
Et l'autre est Collections.sort(l,Comparator<>()); je ne suis pas en mesure de comprendre cette méthode de tri. Quelqu'un peut-pourriez-vous m'expliquer?

Ce que tu ne comprends pas? Avez-vous lu la documentation?
Les Collections.de tri(l) // ligne un ce tri de la liste selon l'ordre naturel, le droit? Les Collections.de tri(l, nouveau ThisIsMyThing()); // ligne b met en œuvre un traitement de référence, où les paramètres sont de type object. puis subissent une conversion de type string. La comparaison est faite entre les cordes?
Oui. Notez que vous devez être à l'aide de médicaments génériques.

OriginalL'auteur hakuna12 | 2013-10-30