gpt4 book ai didi

java - 根据条件过滤并收集对象

转载 作者:搜寻专家 更新时间:2023-11-01 01:49:20 24 4
gpt4 key购买 nike

在 java 8 中,根据一些过滤条件收集 emp 对象。

在主类中:

List<Emp> empList = Arrays.asList(
new Emp("aaa", language1),
new Emp("cc", language2),
new Emp("bb", language3),
new Emp("dd", language3)
);

empList.stream()
.flatMap(s->s.getLanguage().stream())
.filter(s->s.equals("java"))
.forEach(System.out::println); //Here just i am printing.

其实我需要收集new List<EMP> .

如何收集所有语言为“java”的 emp 对象。我该怎么做?

最佳答案

你不应该使用 flatMap如果你想 Collection Emp对象,因为它会将每个元素更改为其他元素,并且很难将它们映射回来。

您应该将所有逻辑放在 filter 中: "如果 Emp 包含 getLanguage,则保留 "java" 对象。

empList.stream()
.filter(x->x.getLanguage().contains("java"))
.collect(Collectors.toList());

关于java - 根据条件过滤并收集对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47787247/

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