【发布时间】:2017-08-23 05:27:34
【问题描述】:
我有设置 firstSet 和设置 secondSet。 我需要得到最终的 Set bean;
Set<Bean> beans = new HashSet<Bean>();
for(BigDecimal element: firstSet){
if(secondSet.contains(element)){
beans.add(new BeanBuilder().id(element).isNew(Boolean.TRUE).build());
} else {
beans.add(new BeanBuilder().id(element).isNew(Boolean.FALSE).build());
}
}
如何使用 lambda 表达式编写它? (需要解析两个流)。
Set<BEBean> arr = firstSet
.stream()
.flatMap( if(secondSet::contains) {
new BeanBuilder().id(x).isNew(Boolean.TRUE).build();
} else {
new BEBuilder().id(x).name(Boolean.FALSE).build();
})
.collect(Collectors.toSet());
【问题讨论】:
-
我只需要根据子句解析两个流
标签: dictionary lambda java-8 flatmap