Junior — Middle
Kako izvući samo jedinstvene objekte iz toka podataka u Stream API?
sobes.tech АИ
Одговор од АИ
U Java Stream API, za izdvajanje jedinstvenih objekata iz toka koristi se metoda distinct(). Ona vraća novi tok u kojem su uklonjeni duplikati na osnovu metoda equals() i hashCode() objekata.
Primer:
List<String> list = Arrays.asList("jabuka", "banana", "jabuka", "narandža");
List<String> uniqueList = list.stream()
.distinct()
.collect(Collectors.toList());
System.out.println(uniqueList); // [jabuka, banana, narandža]
Ako su objekti složeniji i potrebna je jedinstvenost po određenom polju, može se koristiti Collectors.toMap ili filter sa pomoćnim strukturama, ali za jednostavne slučajeve distinct() je najjednostavniji način.