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();
相关推荐
Fcy648几秒前
C++11 新增特性(中)
开发语言·c++·c++11·可变参数模版·c++11 类的新增功能·c++11slt新增特性
小码过河.2 分钟前
17装饰器模式
开发语言·python·装饰器模式
嫂子开门我是_我哥11 分钟前
第八节:条件判断与循环:解锁Python的逻辑控制能力
开发语言·python
java1234_小锋11 分钟前
什么是Java可重入锁?
java·开发语言
小尧嵌入式12 分钟前
【Linux开发五】条件变量|信号量|生产者消费者模型|信号概念和常见信号|信号的使用和处理
linux·运维·服务器·开发语言·c++·嵌入式硬件
不会c+13 分钟前
Spring详解(二)IOC控制反转
java·开发语言
翔云12345613 分钟前
golang中使用 sort.Interface 实现复杂多级排序
开发语言·后端·golang
「QT(C++)开发工程师」23 分钟前
C++设计模式
开发语言·c++·设计模式
csgo打的菜又爱玩26 分钟前
数仓整体架构和建模架构
java·大数据·开发语言·架构
ん贤27 分钟前
自go-zero走进微服务
开发语言·后端·golang