Sobes.tech
Junior — Middle

Kā izvilkt tikai unikālus objektus no datu plūsmas Stream API?

sobes.tech AI

Atbilde no AI

Java Stream API lietošanas gadījumā, lai iegūtu unikālus objektus no straumes, tiek izmantota metode distinct(). Tā atgriež jaunu straumi, kurā ir noņemti dublikāti, balstoties uz objektu equals() un hashCode() metodēm.

Piemērs:

List<String> list = Arrays.asList("ābols", "banāns", "ābols", "apelsīns");
List<String> uniqueList = list.stream()
    .distinct()
    .collect(Collectors.toList());

System.out.println(uniqueList); // [ābols, banāns, apelsīns]

Ja objekti ir sarežģītāki un nepieciešama unikālitāte pēc noteikta lauka, var izmantot Collectors.toMap vai filter ar palīgstruktūrām, bet vienkāršos gadījumos distinct() ir visvienkāršākais veids.