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]