java - 循环推理 java lambda groupingby

标签 java lambda grouping java-8

我是 lambda 的新手,对我在这行代码中做错的地方感到困惑:

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

由于循环推理,IntelliJ 无法编译。

最佳答案

经过一番努力,我已经解决了,希望这对其他人也有用

您不能使用 HashMap 或 ArrayList - 只需使用接口(interface) Map 和 List,代码应为:

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

请注意,当 groupingBy 中的任何参数与 Map 声明中的预期参数不匹配时,可能会导致此相当通用的消息。

关于java - 循环推理 java lambda groupingby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23136533/

相关文章:

java - 我如何知道哪个节点集中在 JavaFX 中?

java - 可选的map()和filter()操作类型

java - 压力 - 负载测试 Web 应用程序

java - 在调用方法之前检查两个可选内容

r - 组内连续且唯一的编号

java - 使用 Java Streams 按属性将对象列表组合在一起,并将它们缩减为具有另一个属性平均值的新对象列表

JavaFX:如何将文本字段 "style property"绑定(bind)到匹配某些模式的文本属性

python - pandas 应用参数没有 lambda 的函数

c# - 使用 Linq(?) 从列表中的列表中获取属性

java - 显示标签、分组和空行