Sobes.tech
Junior — Middle

Mis on meetodi distinct eesmärk Stream API-s ja kuidas see erineb teistest filtratsioonimeetoditest?

sobes.tech AI

Vastus AI-lt

Stream API meetod distinct() kasutatakse duplikaatide eemaldamiseks elementide voost. See tagastab uue voo, kus iga element on unikaalne, põhinedes objektide equals() ja hashCode() meetoditel.

Erinevalt teistest filtreerimismeetoditest, nagu filter(), eemaldab distinct() automaatselt korduvad elemendid, samas kui filter() võimaldab määrata mis tahes tingimuse elementide valimiseks.

Näide:

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