Junior — Middle
Qual è lo scopo del metodo distinct nell'API Stream e come si differenzia dagli altri metodi di filtraggio?
sobes.tech AI
Risposta dell'AI
Il metodo distinct() nell'API Stream viene utilizzato per rimuovere i duplicati da un flusso di elementi. Restituisce un nuovo flusso in cui ogni elemento è unico, basato sui metodi equals() e hashCode() degli oggetti.
A differenza di altri metodi di filtraggio, come filter(), distinct() elimina automaticamente gli elementi duplicati, mentre filter() consente di impostare una condizione arbitraria per la selezione degli elementi.
Esempio:
List<Integer> numbers = Arrays.asList(1, 2, 2, 3, 4, 4, 5);
List<Integer> distinctNumbers = numbers.stream()
.distinct()
.collect(Collectors.toList());
// distinctNumbers conterrà [1, 2, 3, 4, 5]