小编Key*_*yzj的帖子

流中“先过滤后映射”和“先映射后过滤”的性能是否有所不同?

我想知道什么更快:按字段过滤自定义对象,然后按其字段映射,反之亦然(先映射,然后过滤)。
最后,我通常希望将映射的字段收集到一些Collection中。

例如,最简单的Person类:

public class Person {
    String uuid;
    String name;
    String secondName;
}
Run Code Online (Sandbox Code Playgroud)

现在让我们来一个List<Person> persons

List<String> filtered1 = persons
                .stream()
                .filter(p -> "NEED_TOY".equals(p.getName()))
                .map(Person::getName)
                .collect(Collectors.toList());
// or?
List<String> filtered2 = persons
                .stream()
                .map(Person::getName)
                .filter(p -> "NEED_TOY".equals(p))
                .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

6
推荐指数
2
解决办法
158
查看次数

标签 统计

java ×1

java-8 ×1

java-stream ×1