Colecciones.sort () usando comparador? [cerrado]

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

Entiendo esa claseC_2 La clasificación se basa en dos técnicas diferentes. Uno es el estándar.Collections.sort(l); Y el otro esCollections.sort(l,Comparator<>()); No puedo entender este método de clasificación. ¿Puede alguien explicarmelo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta