cyclic inference java lambda groupingby
grouping, java, java-8, lambda
Solution
After a bit of pain I've worked it out and hopefully this will be useful to others as well
You mustn't use HashMap or ArrayList - just use the interfaces Map and List, code should read:
Map<Date, List<Trade>> groupTrades = allTrades.stream().collect(Collectors.groupingBy(Trade::getTradeDate));
Note that this rather generic message could be caused when any of the parameters in the groupingBy don't match what is expected in the declaration of the Map.
Problem
I'm new to lambdas and confused with what I'm doing wrong in this line of code: ``` HashMap<Date, ArrayList<Trade>> groupTrades = allTrades.stream().collect(Collectors.groupingBy(Trade::getTradeDate())); ``` IntelliJ won't compile because of a cyclic inference.