2014-04-17 18 views
9

मैं क्या मैं कोड की इस पंक्ति में गलत कर रहा हूँ के साथ lambdas के लिए नए और संदेह में हूँ:चक्रीय अनुमान जावा लैम्ब्डा groupingby

HashMap<Date, ArrayList<Trade>> groupTrades = allTrades.stream().collect(Collectors.groupingBy(Trade::getTradeDate())); 

इंटेलीजे एक चक्रीय अनुमान की वजह से संकलन नहीं होंगे।

उत्तर

14

दर्द मैं इसे बाहर काम किया है और उम्मीद है कि का एक सा होने के बाद यह दूसरों के लिए उपयोगी हो जाएगा साथ ही

आप HashMap या ArrayList उपयोग नहीं करना चाहिए - बस इंटरफेस मानचित्र और सूची का उपयोग करें, कोड पढ़ना चाहिए:

Map<Date, List<Trade>> groupTrades = allTrades.stream().collect(Collectors.groupingBy(Trade::getTradeDate)); 

ध्यान दें कि समूह के किसी भी पैरामीटर में मैप की घोषणा में अपेक्षित चीज़ों से मेल नहीं खाती है, तो यह सामान्य संदेश तब हो सकता है।

+0

मेरे पास 'मानचित्र' और 'सूची' इंटरफ़ेस दोनों हैं लेकिन फिर भी मेरे पास एक ही समस्या है – daydreamer

+0

क्या आप एक कोड स्निपेट प्रदान कर सकते हैं? – Dan

2

() getTradeDate पर दूर करने की कोशिश

HashMap<Date, ArrayList<Trade>> groupTrades = allTrades.stream().collect(Collectors.groupingBy(Trade::getTradeDate)); 

यहाँ एक अच्छी छोटी सिंहावलोकन है: http://www.java8.org/

+0

कोशिश की लेकिन अभी भी एक ही समस्या है। – Dan

संबंधित मुद्दे