Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java8中.distinct()和.sum()的组合_Java_Java Stream - Fatal编程技术网

java8中.distinct()和.sum()的组合

java8中.distinct()和.sum()的组合,java,java-stream,Java,Java Stream,我有一个目标: LocalDate localDate; int amount; 我有这些对象的列表,如: {2018-01-01, 5} {2018-01-01, 10} {2018-01-02, 15} 现在我想得到的是,我想解析当天的金额。 预期结果将列出不重复的金额总和 {2018-01-01, 15} {2018-01-02, 15} 似乎我缺少了一些流方法来实现这一点…使用收集器。groupingBy与下游收集器收集器。Summingit yourObjects.stream(

我有一个目标:

LocalDate localDate;
int amount;
我有这些对象的列表,如:

{2018-01-01, 5}
{2018-01-01, 10}
{2018-01-02, 15}
现在我想得到的是,我想解析当天的金额。 预期结果将列出不重复的金额总和

{2018-01-01, 15}
{2018-01-02, 15}

似乎我缺少了一些流方法来实现这一点…

使用
收集器。groupingBy
与下游收集器
收集器。Summingit

yourObjects.stream()
           .collect(Collectors.groupingBy(
                   YourObject::getLocalDate,
                   Collectors.summingInt(YourObject::getAmount)
))

这只是按日期分组,然后用sum聚合,考虑自己尝试一下,然后用“不工作的代码”问我们。这里的人非常不愿意回答“这里的要求,没有人做这项工作并给我代码。请”的问题。@ernest_k这个提示应该对我有帮助,我会尽力:)你确定
{2018-01-01,26}
顺便说一句吗?是不是应该是
{2018-01-01,15}
?@Eugene完全正确,我错配了示例使用您的解决方案作为输入我有
列表
,在输出上我有
映射
,有没有办法在输出上也有
列表
,你不想这样吗?@degath如果你想
List
为什么不在你得到的
Map
上调用
keySet