Sobes.tech
Junior — Middle

Aký je účel metódy distinct v API Stream a čím sa líši od iných metód filtrovania?

sobes.tech AI

Odpoveď od AI

Metóda distinct() v API Stream sa používa na odstránenie duplicitných prvkov zo streamu prvkov. Vracia nový stream, v ktorom je každý prvok jedinečný, na základe metód equals() a hashCode() objektov.

Na rozdiel od iných metód filtrovania, ako je filter(), distinct() automaticky odstraňuje opakujúce sa prvky, zatiaľ čo filter() umožňuje stanoviť ľubovoľnú podmienku pre výber prvkov.

Príklad:

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