Meinen ersten Versuch mit Java 8 Strömen zählt ...Java 8 - Strom, Karte und verschiedenen
Ich habe ein Objekt Bid, die für ein Element in einer Auktion ein Gebot eines Benutzers darstellt. Ich habe eine Liste von Geboten, und ich möchte eine Karte erstellen, die zählt, in wie vielen (verschiedenen) Auktionen der Benutzer ein Gebot abgegeben hat.
dies ist mein nehmen auf sie:
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())
);
Es funktioniert, aber ich fühle mich wie ich bin zu betrügen, weil ich die Eingabesätze der Karte streamen, stattdessen eine Manipulation an dem anfänglichen Strom zu tun. .. muß ein richtiger Weg, dies zu tun, aber ich kann es nicht herausgefunden ...
Dank
können Sie Ihre Erklärung der Gebote Objekt hinzufügen? – Nick