Sobes.tech
Junior — Middle

Kuidas välja võtta ainult unikaalsed objektid andmevoost Stream API-s?

sobes.tech AI

Vastus AI-lt

Java Stream API-s kasutatakse unikaalsete objektide eraldamiseks meetodit distinct(). See tagastab uue voo, millest on duplikaadid eemaldatud, tuginedes objektide equals() ja hashCode() meetoditele.

Näide:

List<String> list = Arrays.asList("õun", "banaan", "õun", "apelsin");
List<String> uniqueList = list.stream()
    .distinct()
    .collect(Collectors.toList());

System.out.println(uniqueList); // [õun, banaan, apelsin]

Kui objektid on keerulisemad ja vaja on unikaalsust kindla välja järgi, saab kasutada Collectors.toMap või filter abistruktuuridega, kuid lihtsaim viis on distinct().