假设有一个类Obj
:
class Obj {
int field;
}
...您有一个Obj
实例列表,即list
现在,我如何在过滤条件下(例如,对于对象
o
,条件是o字段),通过流找到列表
lst
中对象的int字段field
的值之和
您还可以使用适当的求和采集器(如采集器)#求和(ToIntFunction)
返回一个收集器
,该收集器生成应用于输入元素的整数值函数的和。如果不存在任何元素,则结果为0。
举个例子
Stream<Obj> filtered = list.stream().filter(o -> o.field > 10);
int sum = filtered.collect(Collectors.summingInt(o -> o.field));
你可以做的
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();
问题内容: 假设有一个Obj类 并且您有一个实例列表,即。 现在,如何在Java8中使用过滤条件从流中找到列表中的对象的int字段值的总和(例如,对于object ,条件为)? 问题答案: 你可以做 或(使用方法参考)
假设有一个类Obj 并且您有一个实例列表,即。 现在,我如何在Java8中用流找到来自列表中对象的int字段值的和(例如,对于对象,标准是)?
假设有一个Obj类 你有一个实例列表,即
问题内容: 说我有一个对象列表,其中包含两个字段和,均为String类型。 如果有可能,如何在不迭代列表的情况下获取所有值的列表? 问题答案: 对象是对内存地址的引用。然后,该对象的字段是指向其他内存地址的其他引用。因此,对象列表是引用列表。因此,列表不可能直接访问对象字段(由引用给出的引用)。最简洁的答案是不。 注意:无论如何,您都会找到可以实现所需功能的API,但该API仍在内部循环。
在我的角度 this.device返回对象。每个对象都包含一个字段,并且在所有15个对象上都有不同的值。如果我可以访问underscore.js,我就会这样做,但是在这个项目中,我没有它。 什么是JS的方法来访问它而不需要执行for循环?
我有一份包含订单项目列表的订单 如果在这个列表中我有以下项目 我想计算订单所有者名称相同的值之和。 e、 g.如果所有者名称为“John”,则返回417.00,如果名称为“Doe”,则返回19.00。 我怎么能通过小溪Java呢?非常感谢