Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.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
Java 如何使用收集器创建摘要_Java_Java Stream_Collectors - Fatal编程技术网

Java 如何使用收集器创建摘要

Java 如何使用收集器创建摘要,java,java-stream,collectors,Java,Java Stream,Collectors,我有一个电话列表,我必须创建一个摘要,如下所示: public class Call { private String status; private String callName; private int duration; private int waitedTime; } 我的目标是显示如下摘要: public class itemSummary { private String status; private Integer per

我有一个电话列表,我必须创建一个摘要,如下所示:

public class Call {
    private String status;
    private String callName;
    private int duration;
    private int waitedTime;


}
我的目标是显示如下摘要:

public class itemSummary {
    private String status;
    private Integer percentage;
}

如何使用java 8流和收集器进行此操作?

为什么要使用流和收集器?预期的好处是什么?你必须为此编写自己的收藏家。有一个问题,你是从上一个开始并到达某个地方的吗?那是什么让你陷入困境?进一步提示,您可以使用以下语句计算每个调用名的平均调用持续时间
Map callNameAverage=sampleCalls.stream().collect(Collectors.groupingBy(call::getCallName,Collectors.averagint(call::getDuration))
@deHaar
IntSummaryStatistics
对于同一个整数属性,需要不同的摘要方面,而不是在不同的计算涉及多个属性时,是很好的。(定制收藏家可以做一些必要的事情。)@Naman好的,谢谢。。。很高兴知道。只是第一枪,所以没有回答,只是一句评论。。。
public class itemSummary {
    private String status;
    private Integer percentage;
}
{
    callname:"sac",
    averageDuration:"60",
    averageWaitedTime:"10",
    items:{
        status:"failed",
        percentage:"40"
        status:"answered","60" 
    }
}