Sobes.tech
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]