【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());


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM