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.