Junior — Middle
Spiega cosa si intende per interfaccia Comparator nel linguaggio Java.
sobes.tech AI
Risposta dell'AI
L'interfaccia Comparator in Java viene utilizzata per definire l'ordine degli oggetti quando l'ordine naturale (tramite Comparable) non è adatto o assente. Contiene il metodo compare(T o1, T o2), che confronta due oggetti e restituisce:
- un numero negativo se
o1è minore dio2 - zero se sono uguali
- un numero positivo se
o1è maggiore dio2
Questo permette di ordinare le collezioni secondo criteri diversi senza modificare le classi degli oggetti.
Esempio di utilizzo:
List<String> nomi = Arrays.asList("Anna", "John", "Bob");
// Ordinamento per lunghezza della stringa
Collections.sort(nomi, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return Integer.compare(s1.length(), s2.length());
}
});
// Oppure con espressione lambda
Collections.sort(nomi, (s1, s2) -> s1.length() - s2.length());