Моя первая попытка с потоками java 8...
У меня есть объект Bid, который представляет заявку пользователя на предмет на аукционе. У меня есть список ставок, и я хочу сделать карту, которая подсчитывает, сколько (разных) аукционов пользователь сделал ставку.
это мое взятие на себя:
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())
);
Это работает, но я чувствую, что я обманываю, потому что я потоплю наборы записей на карте, вместо того, чтобы делать манипуляции с начальным потоком... должен быть более правильным способом сделать это, но я не мог "Не понимаю".
Спасибо