当前位置:首页 > JAVA > 正文内容

在Java中对List中所有元素的某个属性进行求和计算

高老师3年前 (2024-04-10)JAVA435

在Java中,对List中对象的某个属性进行求和是一种常见的操作。使用Stream API可以简洁高效地实现这一目标。

// 假设有一个 List 包含了对象,对象中有 BigDecimal 类型的属性
List<PresaleybpaymonthsummarysReportResponse> res = getListOfObjects();

// 使用 Stream 计算属性的合计值
BigDecimal sum = res.stream()
        .map(PresaleybpaymonthsummarysReportResponse::getCollection) // 获取每个对象的 BigDecimal 属性值
        .filter(Objects::nonNull) // 过滤掉为 null 的值
        .reduce(BigDecimal.ZERO, BigDecimal::add); // 将所有值累加起来

// 打印合计值
System.out.println("合计值为:" + sum);

定义了一个 PresaleybpaymonthsummarysReportResponse 类,包含一个 BigDecimal 类型的属性 collection,以及相应的 getter 和 setter 方法。在 Main 类中,使用 getListOfObjects() 方法获取示例对象列表 res,你可以替换为你自己的数据源。使用 Stream API,首先通过 map() 方法将每个对象映射为其 collection 属性值。使用 filter() 方法过滤掉为 null 的值。最后使用 reduce() 方法将所有值累加起来得到合计值,并将其打印输出。

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/741.html

分享给朋友:

“在Java中对List中所有元素的某个属性进行求和计算” 的相关文章

java限制1个方法同一时间只能被一个线程访问

java限制1个方法同一时间只能被一个线程访问

java限制1个方法同一时间只能被一个线程访问public synchronized void setOrderPay(){ }加上synchronized 修饰符即可...

java增强型for循环

java增强型for循环

Java5 引入了一种主要用于数组的增强型 for 循环,类似js中的for inpublic class Member {     public static void main(String[]&...

java stringBuffer,java stringBuffer反转字符串,java stringBuffer delete删除字符/移除字符,java stringBuffer在指定位置插入字符串,java stringBuffer替换指定位置的字符串,java stringBuffer获取指定索引的值

java stringBuffer,java stringBuffer反转字符串,java stringBuffer delete删除字符/移除字符,java stringBuffer在指定位置插入字符串,java stringBuffer替换指定位置的字符串,java stringBuffer获取指定索引的值

java stringBuffer(1).stringBuffer和stringBuilder区别stringBuffer是线程安全的,stringBuilder速度更快(2).简单的stringBuffer例子StringBuffer sBuffer = new&nb...

java数组,java创建数组,java创建数组并赋值,java数组元素个数,java foreach 循环数组,java数组排序

java数组,java创建数组,java创建数组并赋值,java数组元素个数,java foreach 循环数组,java数组排序

(1).创建数组double[] myList = new double[size];  //推荐创建方式 double myList[] = new double[size];  ...

java日期和时间

java日期和时间

(1).java获取当前日期时间Date date = new Date();  System.out.println(date.toString());输出Fri Jul 02 10:29:55 CST 2021(2).java获取时间戳秒/毫秒D...

java获取时间戳,java时间戳获取

java获取时间戳,java时间戳获取

System.out.println("当前时间戳(秒): " + System.currentTimeMillis()/1000); System.out.println("当前时间戳(毫秒): " +&nb...