Il mio primo tentativo con Java 8 flussi ...java 8 - torrente, la mappa e il conteggio distinto
Ho un oggetto di offerta, che rappresenta un'offerta di un utente per un oggetto in un'asta. ho una lista di offerte e voglio fare una mappa che conta in quante (distinte) aste l'utente ha fatto un'offerta.
questo è il mio prendere su di esso:
bids.stream()
.collect(
Collectors.groupingBy(
bid -> Bid::getBidderUserId,
mapping(Bid::getAuctionId, Collectors.toSet())
)
).entrySet().stream().collect(Collectors.toMap(
e-> e.getKey(),e -> e.getValue().size())
);
Funziona, ma mi sento come se sto tradendo, causa riprodurre in streaming i set di ingresso della mappa, invece di fare una manipolazione sul flusso iniziale. .. deve essere un modo più corretto di fare questo, ma non ho potuto capirlo ...
Grazie
Puoi includere la dichiarazione dell'oggetto delle offerte? – Nick