如何将List作业转换为映射jobMap;根据条件。
条件是,job.getParentId()== null
下面的行将所有作业列表转换为映射,但我需要具备上述条件。
Map<Long, String> parentJobs = jobs.stream().collect(
Collectors.toMap(JobLog::getId, JobLog::getName));
下面是Job模型的片段。
class Job{
Long id;
String name;
Long parentJob;
}
答案 0 :(得分:1)
您可以在收集之前过滤流。
Map<Long, String> parentJobs = jobs.stream()
.filter(job -> job.getParentId() == null)
.collect(Collectors.toMap(JobLog::getId, JobLog::getName));