我是Java 8和Stream API的新手。
如果我有一个Employee对象列表:
List<Employee> employees;
public class Employee {
private String name;
private List<Project> involvedInProjects;
}
public class Project {
private int projectId;
}
我希望能够使用Java 8的Stream API来筛选参与特定项目的员工,该怎么做呢?
如果我有一个以唯一员工ID为键的Map,而不是一个List,那么这样做会更容易吗?
removeIf
相反的谓词。除此之外,最好先获取实际的Project
实例,然后进行简单的getInvolvedInProjects().contains(project)
测试(假设Project
要么是规范的,要么具有适当的equals
方法,但其他任何内容都将是可疑的设计)... - Holger