【发布时间】:2020-02-06 16:16:36
【问题描述】:
为了保护问题免受“重复猎人”的影响,我需要提一下,我认为我正在寻找的解决方案并不是过滤。我进行了搜索,从未遇到提到过滤的答案。
我有一个像这样的类的对象列表:
class Person {
String gender;
String income;
String petName;
}
我想把这个List收集成一个map,按性别分组,统计他们拥有的宠物,当然如果petName为null的话需要传0。
Map<String, Long> mapping = people
.stream()
.collect(Collectors.groupingBy(Person::gender, Collectors.counting());
没有实现 Collector 接口和它的 5 个方法(因为我已经在尝试摆脱另一个自定义收集器)如果它的 petName 字段是 null,我怎样才能使它不计算对象。
我可以从 Java-11 中受益
【问题讨论】:
-
在看到答案之前,从来没有想过对我的收藏应用一些过滤。我已经搜索过了。不要将所有内容标记为重复以获得积分...
标签: java lambda functional-programming java-stream java-11