Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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
当计数大于或等于;100 Java流_Java_Java Stream - Fatal编程技术网

当计数大于或等于;100 Java流

当计数大于或等于;100 Java流,java,java-stream,Java,Java Stream,我有以下课程 private类MaintWindowClass{ 字符串SiteID; 字符串节点; 公共字符串getSiteID(){ 返回站点ID; } 公共字符串getNode(){ 返回节点; } } 一个节点可以有多个站点。我正在尝试获取站点计数>100的节点 有可能通过溪流到达吗。到目前为止我已经试过了 ArrayList maintWindowArray=new ArrayList();//然后在其中添加一些MaintWindowClass。 Map sitesGroupedCo

我有以下课程

private类MaintWindowClass{
字符串SiteID;
字符串节点;
公共字符串getSiteID(){
返回站点ID;
}
公共字符串getNode(){
返回节点;
}
}
一个节点可以有多个站点。我正在尝试获取站点计数>100的节点

有可能通过溪流到达吗。到目前为止我已经试过了

ArrayList maintWindowArray=new ArrayList();//然后在其中添加一些MaintWindowClass。
Map sitesGroupedCount=maintWindowArray.stream()
.collect(收集器.groupingBy(MaintWindowClass::getNode、,
Collectors.counting());//更合适的做法是将站点分为节点和其中的站点数。
我现在可以迭代这个映射并获得sitecount>100的节点,但是是否可以使用streams只获得site count大于100的节点

你就快拿到了! 现在,您需要迭代映射并根据值过滤条目:

List<String> nodesWithMoreThan100Sites = maintWindowArray.stream()
        .collect(Collectors.groupingBy(MaintWindowClass::getNode, Collectors.counting()))
        .entrySet().stream()
        .filter(e -> e.getValue() > 100)
        .map(Map.Entry::getKey)
        .collect(Collectors.toList());
列出超过100个站点的节点=maintWindowArray.stream()
.collect(Collectors.groupingBy(MaintWindowClass::getNode,Collectors.counting())
.entrySet().stream()
.filter(e->e.getValue()>100)
.map(map.Entry::getKey)
.collect(Collectors.toList());

您已经使用了
s,您只需要进一步迭代或通过另一个流链接到迄今为止收集的
地图
的条目。@VishwaRatna请尝试并避免发布这样的评论;他们只会分散对答案的注意力,其他选民应该自己做决定。@Luis Iñesta谢谢,这很有效。第一个流获得计数,然后另一个流获得计数>100。我想知道是否有可能从一个流中获得这个输出