猿问

我如何遍历嵌套对象并使用 lambda 和流验证一些计算

我需要遍历嵌套对象来验证一些计算。前任:


Category obj1 = new Category(0, 0, 10, null);

Category obj2 = new Category(2, 3, 6, obj1);

Category obj3 = new Category(2, 2, 4, obj1);

我需要检查父母是否存在以下内容:sum2(qty * price = total) sum3(qty * price = total) 和 sum2+sum3== parent total


例如:(2*2==4) (3*3==6) 和 4+6 == 10


我如何使用 lambda 和流来做到这一点?


public class Category {


    private int qty;

    private int price;


    private int total;


    private Category rootCategory;


}


陪伴而非守候
浏览 97回答 1
1回答

月关宝盒

用于Stream.of创建Category流,然后filter对象rootCategory不为空int sum = Stream.of(obj1, obj2, obj3)         .filter(o -> Objects.nonNull(o.getRootCategory()))         .mapToInt(c -> c.getQty() * c.getPrice())         .sum();
随时随地看视频慕课网APP

相关分类

Java
我要回答