Sobes.tech
Junior — Middle

Was ist der Zweck der Methode distinct in der Stream API und wie unterscheidet sie sich von anderen Filtermethoden?

sobes.tech KI

Antwort von AI

Die Methode distinct() in der Stream-API wird verwendet, um Duplikate aus einem Elementstrom zu entfernen. Sie gibt einen neuen Stream zurück, in dem jedes Element einzigartig ist, basierend auf den Methoden equals() und hashCode() der Objekte.

Im Gegensatz zu anderen Filtermethoden wie filter() entfernt distinct() automatisch doppelte Elemente, während filter() erlaubt, eine beliebige Bedingung für die Auswahl der Elemente festzulegen.

Beispiel:

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