我有一堂课如下
class Account{
String Name;
int amount;
}
如果我有一个列表作为List
如果您不介意使用第三方库,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集合的提交者
您可以使用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与流。
我有一个包含员工姓名的字符串列表。