我有一个简单的课程:
class Simple {
private String count;
private BigDecimal amount;
private String label;
}
并有一个List:List
尝试:
BigInteger sum = simples.stream()
.map(Simple::getAmount)
.reduce(BigInteger.ZERO, BigInteger::add);
使用流和减速器非常容易:
BigDecimal sum = simples
.stream()
.map(Simple::getAmount)
.reduce(BigDecimal::add)
.get();
问题内容: 我有这种形式的字典清单: 我想像这样通过列表中的每个元素通过键求和: 我尝试过的是以下内容: 但它仍然不起作用。 问题答案: 您想要的是集合类型。集合上的Python文档最能描述它,但是从本质上讲a是一种特殊的字典,其中所有值都是整数。您可以传递任何密钥(包括不存在的密钥)并将其添加。例如: 编辑:@timgeb提供了此答案的一种变体,该变体在对象上本地使用了该方法。我建议将其作为此处
我有一份包含订单项目列表的订单 如果在这个列表中我有以下项目 我想计算订单所有者名称相同的值之和。 e、 g.如果所有者名称为“John”,则返回417.00,如果名称为“Doe”,则返回19.00。 我怎么能通过小溪Java呢?非常感谢
我想遍历账户列表,并使用Java8Lambda特性总结双倍信用额度。有什么想法吗? 我有一个账户列表,我想使用LambdaJava1.8功能来计算信用额度,我该如何去做,而不是我下面显示的传统方法?
我尝试使用ireport对BigDecimal值进行sum和avg算术运算。我做的时候总会有误差。 所有类型都在 ireport 中定义为 BigDecimal 。 -分离,此示例中的变量工作正常,但我不能对变量进行算术运算。 总和与平均值如何键入BigDecimal? 在我的示例中,这不是工作: 我尝试在ireport中使用Java sintax,但是不起作用。 我使用的是3.0.0版iRepo
我知道我可以测试列表是否为空,如下所示: 但我不明白为什么下一个代码不是等效的:
问题内容: 让 假设我要对列表中每个列表的索引元素求和,例如在矩阵列中添加数字以获得单个列表。我假设数据中的所有列表的长度均相等。 如何遍历列表列表而不会出现索引超出范围错误?也许lambda?谢谢! 问题答案: 您可以尝试以下方法: 这里使用的组合和解压的列表,然后根据自己的索引压缩的项目。然后,您可以使用列表推导来遍历相似索引的组,对其进行求和并返回其“原始”位置。 为了更清楚一点,下面是迭代