Comparator<T> définit un ordre de tri séparé de la classe. On le construit avec Comparator.comparing(...), qu'on enchaîne avec thenComparing et inverse avec reversed(). Il s'utilise avec list.sort et sorted.
Exemple
personnes.sort(Comparator.comparing(Personne::nom).thenComparing(Personne::age));