Sobes.tech
Junior — Middle

Каква е целта на метода distinct в API Stream и как се различава от другите методи за филтриране?

sobes.tech AI

Отговор от AI

Методът distinct() в API Stream се използва за премахване на дублиращите се елементи от поток от елементи. Той връща нов поток, в който всеки елемент е уникален, базиран на методите 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]