Junior — Middle
Come estrarre solo oggetti unici da un flusso di dati nell'API Stream?
sobes.tech AI
Risposta dell'AI
Nell'API Stream di Java, per estrarre oggetti unici da un flusso si utilizza il metodo distinct(). Questo metodo restituisce un nuovo flusso in cui sono stati rimossi i duplicati basandosi sui metodi equals() e hashCode() degli oggetti.
Esempio:
List<String> list = Arrays.asList("mela", "banana", "mela", "arancia");
List<String> uniqueList = list.stream()
.distinct()
.collect(Collectors.toList());
System.out.println(uniqueList); // [mela, banana, arancia]
Se gli oggetti sono complessi e si necessita di unicità su un campo specifico, si può usare Collectors.toMap o filter con strutture ausiliarie, ma per casi semplici distinct() è il metodo più semplice.