Java:List相关操作【求和、过滤、统计】(二)

Java8 Stream流对List集合的求和操作:

1、dobule
复制代码
Double sum = list.stream().reduce(0.0, (a, b) -> a + b);

Double sum = list.stream().reduce(0.0, Double::sum);
2、int
复制代码
int sum = list.stream().collect(Collectors.summingInt(Integer::intValue));

int sum = list.stream().mapToInt(Integer::intValue).sum();
3、BigDecimal
复制代码
BigDecimal sum = list.stream().reduce(BigDecimal.ZERO,BigDecimal::add);

// 过滤 null
BigDecimal sum = list.stream().filter(f-> f !=null).reduce(BigDecimal.ZERO,BigDecimal::add);
4、统计过滤后条数
复制代码
// 集合不等于'1'的条数
long count = list.stream().filter(f -> !f.equals("1")).count();
相关推荐
橘颂TA1 分钟前
线程池与线程安全:后端开发的 “性能 + 安全” 双维实践
java·开发语言·安全
bruce_哈哈哈6 分钟前
go语言初认识
开发语言·后端·golang
十五年专注C++开发19 分钟前
VS2019编译的C++程序,在win10正常运行,在win7上Debug正常运行,Release运行报错0xC0000005,进不了main函数
开发语言·c++·报错c0x0000005
一条咸鱼_SaltyFish20 分钟前
[Day13] 微服务架构下的共享基础库设计:contract-common 模块实践
开发语言·人工智能·微服务·云原生·架构·ai编程
隐退山林22 分钟前
JavaEE:多线程初阶(一)
java·开发语言·jvm
C_心欲无痕25 分钟前
ts - 模板字面量类型与 `keyof` 的魔法组合:`keyof T & `on${string}`使用
linux·运维·开发语言·前端·ubuntu·typescript
最贪吃的虎28 分钟前
Redis其实并不是线程安全的
java·开发语言·数据库·redis·后端·缓存·lua
乾元30 分钟前
无线定位与链路质量预测——从“知道你在哪”,到“提前知道你会不会掉线”的网络服务化实践
运维·开发语言·人工智能·网络协议·重构·信息与通信
AC赳赳老秦31 分钟前
Unity游戏开发实战指南:核心逻辑与场景构建详解
开发语言·spring boot·爬虫·搜索引擎·全文检索·lucene·deepseek