如何从流过的流中收集多个地图的钥匙集? 我正在尝试学习与流和收藏家合作,我知道如何使用多个循环进行操作,但我想成为一个更有效的程序员。 每个项目都有一个persitedhoursperday的地图,...

问题描述 投票:0回答:1
public Set<Employee> getFulltimeEmployees() { // TODO Map<Employee,Integer> fulltimeEmployees = projects.stream().filter(p -> p.getCommittedHoursPerDay().entrySet() .stream() .filter(map -> map.getValue() >= 8) .collect(Collectors.toMap(map -> map.getKey(), map -> map.getValue()))); return fulltimeEmployees.keySet(); }

过滤器如何识别地图,因为我可以访问键和值,但是在.collect(collectors.tomap())中,它不识别映射,而仅将其视为lambda grigent


    

这里有一对一的概念。您可以首先使用flatMapenter image description here将地图弄平,然后将filter

应用于地图条目。
java dictionary java-stream mapping collectors
1个回答
2
投票

步骤返回A

flatMap
。因此,
Stream<Map.Entry<Employee, Integer>>
在一个

filter
中运行。
您还可以在集合步骤上使用方法参考作为
Map.Entry<Employee, Integer>

    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.