मेरा पहला प्रयास गिनती ...जावा 8 - धारा, नक्शा और जावा 8 धाराओं के साथ अलग
मैंने किसी चीज़ बोली है, जो एक नीलामी में एक आइटम के लिए एक उपयोगकर्ता की बोली का प्रतिनिधित्व करता है। मेरे पास बोलियों की एक सूची है, और मैं एक नक्शा बनाना चाहता हूं जो इस बात की गणना करता है कि उपयोगकर्ता ने बोली कितनी (विशिष्ट) नीलामी की है।
इस इस पर मेरी ले है:
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())
);
यह काम करता है, लेकिन मुझे लगता है जैसे मैं धोखा दे रहा हूँ, क्योंकि मैं नक्शा के प्रवेश सेट स्ट्रीम, बजाय प्रारंभिक धारा पर एक हेरफेर करने का। .. ऐसा करने का एक और अधिक सही तरीका होना चाहिए, लेकिन मैं इसे समझ नहीं सकता है ...
धन्यवाद
क्या आप बोलियां ऑब्जेक्ट की अपनी घोषणा शामिल कर सकते हैं? – Nick