En java, un comparateur est une instance d’une classe qui implémente l’interface Comparator<T>.
Il s’y trouve une fonction int compare(T v1, T v2), qui compare deux valeurs et retourne un entier (négatif si v1 < v2, positif si v1 > v2, 0 sinon)
On peut donc implémenter cette interface pour créer nos propres comparateurs, par exemple pour trier une liste dans un ordre différent que croissant.
Classe Anonyme
A la place d’implémenter l’interface dans une classe imbriquée, on peut implémenter l’interface directement dans la fonction ⇒ classe anonyme.
Exemple -- Comparaison
list.sort(new Comparator<Integer>() { @Override public int compare(Integer i1, Integer i2) { return Integer.compare(i2, i1); } });
On a donc déclaré une classe anonyme. (en implémentant une interface)