【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,name,stream,getName,List,item,字段,rea,lambda 来源: https://www.cnblogs.com/Oxyy/p/15788166.html