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