Java8:对列表中对象的特定字段的值求和

假设有一个Obj类

class Obj{

int field;

}

并且您有一个Obj实例列表,即List<Obj> lst

现在,如何在Java8中使用过滤条件field从流中找到列表中的对象的int字段值的总和lst(例如,对于object

o,条件为o.field > 10)?

回答:

你可以做

int sum = lst.stream().filter(o -> o.getField() > 10).mapToInt(o -> o.getField()).sum();

或(使用方法参考)

int sum = lst.stream().filter(o -> o.getField() > 10).mapToInt(Obj::getField).sum();

以上是 Java8:对列表中对象的特定字段的值求和 的全部内容, 来源链接: utcz.com/qa/436145.html

回到顶部