Sobes.tech
Junior — Middle

Jaký je účel metody distinct v API Stream a čím se liší od jiných metod filtrování?

sobes.tech AI

Odpověď od AI

Metoda distinct() v API Stream se používá k odstranění duplicitních prvků ze streamu. Vrací nový stream, ve kterém je každý prvek unikátní, na základě metod equals() a hashCode() objektů.

Na rozdíl od jiných metod filtrování, jako je filter(), distinct() automaticky odstraňuje opakující se prvky, zatímco filter() umožňuje stanovit libovolnou podmínku pro výběr prvků.

Příklad:

List<Integer> numbers = Arrays.asList(1, 2, 2, 3, 4, 4, 5);
List<Integer> distinctNumbers = numbers.stream()
    .distinct()
    .collect(Collectors.toList());
// distinctNumbers bude obsahovat [1, 2, 3, 4, 5]