In questa lezione analizziamo quando usare
Comparator invece di
Comparable, la sintassi e il contratto del metodo
compare(T o1, T o2), la pratica dell’ordinamento delle liste tramite
Collections.sort e
List.sort, la creazione di comparator sia come classi separate sia tramite classi anonime ed espressioni lambda. Considereremo l’ordinamento multilivello, la gestione dei valori
null, la ricerca con
Collections.binarySearch, l’inversione dell’ordine con
reversed(), nonché best practice ed errori tipici (ad esempio, perché è meglio usare
Integer.compare e non
a - b).