Sobes.tech
Junior — Middle

Jak získat pouze unikátní objekty ze streamu dat v API Stream?

sobes.tech AI

Odpověď od AI

V API Stream v jazyce Java se k extrakci unikátních objektů ze streamu používá metoda distinct(). Vrací nový stream, ve kterém jsou duplicitní prvky odstraněny na základě metod equals() a hashCode() objektů.

Příklad:

List<String> list = Arrays.asList("jablko", "banán", "jablko", "pomeranč");
List<String> uniqueList = list.stream()
    .distinct()
    .collect(Collectors.toList());

System.out.println(uniqueList); // [jablko, banán, pomeranč]

Pokud jsou objekty složitější a je potřeba unikátnost podle určitého pole, lze použít Collectors.toMap nebo filter s pomocnými strukturami, ale pro jednoduché případy je distinct() nejjednodušší způsob.