java8 stream流求和计算

通过for或者foreach循环的方式逐个累加某个字段的和太过繁琐,本文通过stream流的方式展示一行代码求字段和。直接上代码

/**
 * @author Mikey
 * @version 1.0
 * @date 2022/4/27 15:13
 * @description
 */
public class CalculateDemo {
    public static void main(String[] args) {
        List<BigDecimal> test1 = new ArrayList<>();
        test1.add(new BigDecimal(2));
        test1.add(new BigDecimal(2.5));

        BigDecimal result1 = test1.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
        System.out.println("decimal计算值:" + result1);

        List<Integer> test2 = new ArrayList<>();
        test2.add(2);
        test2.add(1);
        // long,double将mapToInt替换为mapToDouble mapToLong
        int result2 = test2.stream().mapToInt(t -> t).sum();
        double result3 = test2.stream().mapToDouble(t -> t).sum();
        long result4 = test2.stream().mapToLong(t -> t).sum();
        System.out.println("int计算值:" + result2);
        System.out.println("double计算值:" + result3);
        System.out.println("long计算值:" + result4);

    }
}

效果展示
decimal计算值:4.5
int计算值:3
double计算值:3.0
long计算值:3

觉得可行的伙伴求个赞
在这里插入图片描述

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Java 8的Stream API对列表中的元素求和。可以在列表的stream()方法上调用mapToInt()方法将元素映射为int类型,再调用sum()方法求和。示例代码如下: ``` List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); int sum = numbers.stream().mapToInt(Integer::intValue).sum(); System.out.println("Sum of the list elements: " + sum); ``` 上面的代码会输出 "Sum of the list elements: 15",它会将numbers列表里的元素求和。 ### 回答2: 使用Java Stream求列表的和非常简单。Java 8引入了Stream API,可以方便地对集合进行操作。 首先,我们需要将列表转换为,可以使用stream()方法来实现: List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); Stream<Integer> numberStream = numbers.stream(); 然后,我们可以使用reduce()方法来对进行求和操作。reduce()方法接受一个BinaryOperator参数,该参数定义了求和的逻辑。我们可以使用Lambda表达式来编写这个逻辑: int sum = numberStream.reduce(0, (a, b) -> a + b); 上述代码将中的元素依次相加,并返回求和结果。reduce()方法的第一个参数表示初始值,如果为空,则返回初始值。 最后,我们可以打印出求和结果: System.out.println("Sum: " + sum); 完整的示例代码如下: import java.util.Arrays; import java.util.List; import java.util.stream.Stream; public class SumExample { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); Stream<Integer> numberStream = numbers.stream(); int sum = numberStream.reduce(0, (a, b) -> a + b); System.out.println("Sum: " + sum); } } 输出结果为: Sum: 15 通过使用Java Stream的reduce()方法,我们可以非常方便地对列表求和。 ### 回答3: Java中的Stream是一种用于对集合数据进行处理的高级抽象概念。通过Stream,我们可以使用一种更简洁、更函数式的方式来操作集合,包括对列表进行求和。 要计算一个列表的求和,可以使用Stream类中提供的sum()方法。首先,需要将列表转换为一个IntStream对象,然后调用sum()方法求和。 下面是一个示例代码,演示了如何使用Stream列表求和: ``` import java.util.Arrays; import java.util.List; public class StreamSumExample { public static void main(String[] args) { // 创建一个整数列表 List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); // 将列表转换为IntStream对象,并求和 int sum = numbers.stream() .mapToInt(Integer::intValue) .sum(); System.out.println("列表的求和结果为:" + sum); } } ``` 在上述示例中,我们首先创建了一个包含整数的列表。然后,使用stream()方法将该列表转换为一个Stream对象。接下来,使用mapToInt()方法将Stream对象转换为一个IntStream对象,其中的每个元素都被映射为其对应的整数值。最后,使用sum()方法对IntStream对象的元素进行求和。 运行该示例代码,输出将是“列表的求和结果为:15”,表示该列表中的所有元素的和为15。 总而言之,通过使用JavaStream,我们可以使用更简洁、更函数式的方式来对列表进行求和。以上示例代码演示了如何使用Stream的sum()方法对一个整数列表进行求和

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值