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)