Sobes.tech
Junior — Middle

Stream API-деги distinct ыкмасынын максаты эмне жана ал башка фильтрлоо ыкмаларына караганда эмнеге айырмаланат?

sobes.tech AI

AIден жооп

Stream API-деги distinct() ыкмасы элементтер агымынан дублдарды жоготуу үчүн колдонулат. Ал ар бир элемент уникалдуу болгон жаңы агымды кайтарат, бул equals() жана hashCode() ыкмаларына негизделген.

Башка фильтр ыкмаларына салыштырмалуу, мисалы, filter(), distinct() автоматтык түрдө кайталанган элементтерди жокко чыгарат, ал эми filter() элементтерди тандоодо каалаган шартты коюуга мүмкүндүк берет.

Мисал:

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