Java教程

【Java 8】lambda表达式对两个List进行循环,根据符合条件,进行相关的赋值操作并返回这个对象集合

本文主要是介绍【Java 8】lambda表达式对两个List进行循环,根据符合条件,进行相关的赋值操作并返回这个对象集合,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

创建对象:

@Data
@AllArgsConstructor
@NoArgsConstructor
public class PointVo {
    private String  name;
    private Integer y;
}

 

要求:已知list1和list2中name字段部分一致,将list2中的y字段根据与list2中的name字段相同的部分复制给list2

 

  name字段不重合的部分y赋空值:

   tmps = tmps.stream().map(item -> reality.stream().filter(
                    rea -> item.getName().equals(rea.getName())).findFirst().map(rea -> {
                item.setY(rea.getY());
                return item;
            }).orElse(new PointVo(item.getName(), 0))
            ).collect(Collectors.toList());

 

name字段不重合的部分对象赋空值:

            tmps = tmps.stream().map(item -> reality.stream().filter(
                    rea -> item.getName().equals(rea.getName())).findFirst().map(rea -> {
                item.setY(rea.getY());
                return item;
            }).orElse(null))
            ).collect(Collectors.toList());
这篇关于【Java 8】lambda表达式对两个List进行循环,根据符合条件,进行相关的赋值操作并返回这个对象集合的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!