当前位置: 首页 > 知识库问答 >
问题:

对象列表中整数的总和[重复]

农雅畅
2023-03-14

我有一堂课如下

class Account{
    String Name;
    int amount;
}

如果我有一个列表作为List


共有2个答案

卢普松
2023-03-14

如果您不介意使用第三方库,Eclipse集合中提供了sumOfInt。它返回的是long,而不是int,因此溢出的可能性要小得多。

您可以在Iterate类上使用静态实用程序方法,该类适用于任何java.lang.Iterable类型,如下所示:

List<Account> accounts = new ArrayList<>();
long sum = Iterate.sumOfInt(accounts, Account::getAmount);

或者,如果您的列表是一个可变列表,您可以使用列表中直接提供的方法。

MutableList<Account> accounts = Lists.mutable.empty();
long sum = accounts.sumOfInt(Account::getAmount);

注意:我是Eclipse集合的提交者

时向文
2023-03-14

您可以使用Stream()创建帐户流,使用mapToInt将该流映射到每个帐户的金额,并使用IntStream对结果进行求和。sum()

List<Account> accounts = new ArrayList<>();
int totalAmount = accounts.stream().mapToInt(Account::getAmount).sum();

此代码假定amount有一个gettergetAmount

 类似资料:
  • 我有一份包含订单项目列表的订单 如果在这个列表中我有以下项目 我想计算订单所有者名称相同的值之和。 e、 g.如果所有者名称为“John”,则返回417.00,如果名称为“Doe”,则返回19.00。 我怎么能通过小溪Java呢?非常感谢

  • 创建一个(字符串,对象)哈希映射并放置不同类型的值。 将哈希映射序列化为 json 字符串并转换回 (字符串、字符串) 的哈希映射 当我尝试获取键“key 2”的值时,它会抛出一个异常,说“线程中的异常”main“java.lang.ClassCastExc的:java.lang.整数不能转换为java.lang.字符串”。 有没有好的方法来解释这一点?这是否意味着即使我有一个(String,St

  • 假设有一个类: ...您有一个实例列表,即

  • 但我得到一条错误消息,说无法在原语类型int上调用compareToIgnoreCase(int) 我如何修复这段代码,使它能够用整数值对列表进行排序?

  • 我有两个对象列表,它们在两个列表中都有重复名称。我需要从清单2中删除清单1中的所有重复值。 下面是一个场景,类有名称变量,用这个变量需要检查清单1中的重复值并需要删除。 //这是具有3个对象的第一个列表 清单1大小为1 请建议我在Java8与流。

  • 我有一个包含员工姓名的字符串列表。