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]