Java如何借助Stream流进行求和呢?

Posted qq_25073223

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java如何借助Stream流进行求和呢?相关的知识,希望对你有一定的参考价值。

转自:

Java如何借助Stream流进行求和呢?

list简介:

    集合就是把具有相同属性的东西放在一起,也可以是容器,把有关的东西都放进去

    List是位于java.util下的一个接口,有序集合(也称为序列)

   用户可以精确控制每个元素在列表中的插入位置。用户可以通过整数索引(列表中的位置)访问元素,并在列表中搜索元素


下文笔者讲述Java中使用Stream流对list求和的方法分享,如下所示:

实现思路:
    使用stream中的map,sum方法

例:

BigDecimal:
BigDecimal bb =list.stream()
               .map(User::getScore).reduce(BigDecimal.ZERO,BigDecimal::add);
 
int、double、long:
double max = list.stream().mapToDouble(User::getScore).sum();

Java Stream流之求和

Java Stream流之求和




流方式实现 基本数据类型 和 包装类型 的一位数组求和

package top.yangbocsu;

import java.util.Arrays;

/**
 * @author yangbocsu
 * @date 2022年4月14日
 * @version 1.0
 * @description: 流方式实现 基本数据类型 和 包装类型 的一位数组求和
 */
public class Test 
    public static void main(String[] args) 
        // 基本数据类型  int long  double
        int[] arr2 = new int[]1, 2, 3, 4, 5, 6, 7, 8, 9, 10;
        int sum2 = Arrays.stream(arr2).sum();

        long[] arr3 = new long[]1, 2, 3, 4, 5, 6, 7, 8, 9, 10;
        long sum3 = Arrays.stream(arr3).sum();

        double[] arr5 = new double[]1, 2, 3, 4, 5, 6, 7, 8, 9, 10;
        double sum5 = Arrays.stream(arr5).sum();



        // 包装类型  Integer Long  Double
        Integer[] arr4 = new Integer[]1, 2, 3, 4, 5, 6, 7, 8, 9, 10;
        Integer sum4 = Arrays.stream(arr4).mapToInt(Integer::intValue).sum();

        Long[] arr6 = new Long[]1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L;
        Long sum6 = Arrays.stream(arr6).mapToLong(Long::longValue).sum();

        Double[] arr7 = new Double[]1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0;
        Double sum7 = Arrays.stream(arr7).mapToDouble(Double::doubleValue).sum();

        System.out.println("sum2 = " + sum2);
        System.out.println("sum3 = " + sum3);
        System.out.println("sum4 = " + sum4);
        System.out.println("sum5 = " + sum5);
        System.out.println("sum6 = " + sum6);
        System.out.println("sum7 = " + sum7);
    

以上是关于Java如何借助Stream流进行求和呢?的主要内容,如果未能解决你的问题,请参考以下文章

Java Stream流之求和

java8-Stream之数值流

java中的Stream流

Java8使用Stream流实现List列表的查询统计排序分组

Java基础 | Stream流原理与用法总结

Java8实战开始使用流