gpt4 book ai didi

java8 lambda 带条件分组

转载 作者:行者123 更新时间:2023-11-30 03:47:31 25 4
gpt4 key购买 nike

Java8 和 Lambdas - 这就是我现在的玩法。还有另一个问题/疑问。我用 lamda 进行了分组,如下所示:

Map<Question, List<Answer>> temp = foo.stream().flatMap(x -> x.getValue().stream()).flatMap(
x -> x.getAnswers().stream()).collect(
Collectors.groupingBy(
zz -> zz.getQuestion(),
Collectors.mapping(z -> z, Collectors.toList())
)
);

我是从 Foo 列表中找到自己的,这是一张问题 map ,其中包含用户所做的汇总答案列表。

问题
分组时可以添加条件吗?
在此示例中,我的 Question.class 有一个名为 Weight 的 Double 字段,并且某些问题将此字段设为 null 或值为 0.0。
我的聚合 map 中不需要它们,所以我想知道我可以在此处添加条件,还是需要迭代结果 map ?



编辑
foo 是 Result.class 的列表,x.getValue() 返回 AnswerSet.class 的列表,x.getAnswers() 返回 Answer.class 的列表。 Answer.class 有一个 Question.class 作为字段

最佳答案

foo.stream()
.filter(q -> q.weight != null && q.weight != 0.0)
.<continue what you were doing>

关于java8 lambda 带条件分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25266718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com