Dictionary 基于子句过滤的双流处理java 8

Dictionary 基于子句过滤的双流处理java 8,dictionary,lambda,java-8,flatmap,Dictionary,Lambda,Java 8,Flatmap,我有第一套和第二套。 我需要得到最后一套豆子 Set<Bean> beans = new HashSet<Bean>(); for(BigDecimal element: firstSet){ if(secondSet.contains(element)){ beans.add(new BeanBuilder().id(element).isNew(Boolean.TRUE).build());

我有第一套和第二套。 我需要得到最后一套豆子

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());
            }
        }
Set bean=newhashset();
for(BigDecimal元素:第一集){
if(secondSet.contains(元素)){
add(newbeanbuilder().id(element).isNew(Boolean.TRUE.build());
}否则{
add(newbeanbuilder().id(element).isNew(Boolean.FALSE.build());
}
}
如何使用lambda表达式编写它?(需要解析两个流)

Set arr=firstSet
.stream()
.flatMap(if(secondSet::contains){
new BeanBuilder().id(x).isNew(Boolean.TRUE).build();
}否则{
新建BEBuilder().id(x).name(Boolean.FALSE).build();
})
.collect(收集器.toSet());

完全避免代码重复:

Set<BEBean> beans = availableResources
    .stream()
    .map(e -> new BeanBuilder().id(e).isNew(secondSet.contains(e)).build())
    .collect(Collectors.toSet());
Set bean=availableResources
.stream()
.map(e->newbeanbuilder().id(e).isNew(secondSet.contains(e)).build())
.collect(收集器.toSet());
请注意,您也可以避免循环中的代码重复:

Set<Bean> beans = new HashSet<Bean>();
for(BigDecimal element: firstSet)
    beans.add(new BeanBuilder().id(element).isNew(secondSet.contains(element)).build());
Set bean=newhashset();
for(BigDecimal元素:第一集)
add(newbeanbuilder().id(element).isNew(secondSet.contains(element)).build());

完全避免代码重复:

Set<BEBean> beans = availableResources
    .stream()
    .map(e -> new BeanBuilder().id(e).isNew(secondSet.contains(e)).build())
    .collect(Collectors.toSet());
Set bean=availableResources
.stream()
.map(e->newbeanbuilder().id(e).isNew(secondSet.contains(e)).build())
.collect(收集器.toSet());
请注意,您也可以避免循环中的代码重复:

Set<Bean> beans = new HashSet<Bean>();
for(BigDecimal element: firstSet)
    beans.add(new BeanBuilder().id(element).isNew(secondSet.contains(element)).build());
Set bean=newhashset();
for(BigDecimal元素:第一集)
add(newbeanbuilder().id(element).isNew(secondSet.contains(element)).build());

我只需要根据子句分析两个流我只需要根据子句分析两个流