【发布时间】:2022-01-27 09:05:14
【问题描述】:
我正在尝试使用 Java8 groupby 并减少基于分组对元素求和的功能,但代码似乎对我不起作用。
这是我试图在 Excel 表中映射和提取的 Dtolist 中的数据。
我的要求是,对于每个 DTO 对象,我希望根据 groupingBy TruckId 总结此公里数。因此,突出显示的列应该具有相同 TruckId(**Contract flotte)
的总和值这是我的 DTO:
'''公共类 CostsTruckWsDTO 实现 Serializable {
private static final long serialVersionUID = 1L;
private String truckId;
private LocalDate period;
private Bigdecimal KilometersNumber;
private String periodStartDate;
这里是逻辑:: ''costsTruckWsDTO.setGroupBy(TruckId.toUpperCase());
Map
BigDecimal totalKm = entry.getValue().stream().map(x -> x.getKilometersNumber()).reduce(BigDecimal.ZERO,
BigDecimal::add);
} }''
但我得到的是公里数的价值并没有按照屏幕截图添加。 任何人都可以帮助我在这里缺少什么!!! 非常感谢
【问题讨论】:
-
您能否编辑您的问题 - 存在一些格式问题,导致阅读困难。当将不同的
truckIds 分组到地图中时(在将它们的距离相加之前),你得到了预期的结果吗? -
你是如何构造
costsTruck的?