我有一个域名
public class Person{
String name;
}
我有一个人名的字符串列表,例如
listRange = new ListWith("Bob","John","Mark");
以及如何使用Java 8流在resultList中进行过滤,结果列表中该人的名字。
可能像
resultList.stream().filter(p->p.getName().equals(listRange.any).collect();
如何使用Lambda过滤resultList?
最佳答案
您在寻找的只是contains
方法:
resultList.stream().filter(p -> listRange.contains(p.getName()))
.collect(Collectors.toList());
如果您的姓名列表仅用于过滤结果中的人员,则应考虑使用
Set
,因为它的contains
方法为O(1)(恒定时间),因此可以提高性能。