Sobes.tech
Junior — Middle

Hoe haal je alleen unieke objecten uit een datastroom in de Stream API?

sobes.tech AI

Antwoord van AI

In de Java Stream API wordt de methode distinct() gebruikt om unieke objecten uit een stroom te halen. Het retourneert een nieuwe stroom waarin duplicaten op basis van de methoden equals() en hashCode() van de objecten zijn verwijderd.

Voorbeeld:

List<String> list = Arrays.asList("appel", "banaan", "appel", "sinaasappel");
List<String> uniqueList = list.stream()
    .distinct()
    .collect(Collectors.toList());

System.out.println(uniqueList); // [appel, banaan, sinaasappel]

Als de objecten complex zijn en je uniciteit op een bepaald veld wilt baseren, kun je Collectors.toMap of filter gebruiken met hulppstructuren, maar voor eenvoudige gevallen is distinct() de makkelijkste manier.