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();
相关推荐
南行*7 分钟前
C语言Linux环境编程
linux·c语言·开发语言·网络安全
Morwit10 分钟前
Qt qml创建c++类的单例对象
开发语言·c++·qt
古城小栈12 分钟前
Rust 已经自举,却仍需GNU与MSVC工具链的缘由
开发语言·rust
jarreyer16 分钟前
数据项目分析标准化流程
开发语言·python·机器学习
你怎么知道我是队长20 分钟前
C语言---printf函数使用详细说明
c语言·开发语言
liulilittle22 分钟前
俄罗斯访问欧洲国际线路优化
开发语言·网络·信息与通信·ip·通信·俄罗斯·莫斯科
陈小桔24 分钟前
logging模块-python
开发语言·python
消失的旧时光-194325 分钟前
函数指针 + 结构体 = C 语言的“对象模型”?——从 C 到 C++ / Java 的本质统一
linux·c语言·开发语言·c++·c
!停26 分钟前
C语言栈和队列的实现
开发语言·数据结构
源代码•宸27 分钟前
Golang语法进阶(定时器)
开发语言·经验分享·后端·算法·golang·timer·ticker