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();
相关推荐
奔跑吧邓邓子33 分钟前
【Python爬虫(34)】Python多进程编程:开启高效并行世界的钥匙
开发语言·爬虫·python·多进程
Heris991 小时前
2.22 c++练习【operator运算符重载、封装消息队列、封装信号灯集】
开发语言·c++
----云烟----1 小时前
C/C++ 中 volatile 关键字详解
c语言·开发语言·c++
yuanpan1 小时前
23种设计模式之《组合模式(Composite)》在c#中的应用及理解
开发语言·设计模式·c#·组合模式
BanLul1 小时前
进程与线程 (三)——线程间通信
c语言·开发语言·算法
十八朵郁金香2 小时前
【JavaScript】深入理解模块化
开发语言·javascript·ecmascript
Hello.Reader2 小时前
深入理解 Rust 的 `Rc<T>`:实现多所有权的智能指针
开发语言·后端·rust
程序员阿鹏2 小时前
jdbc批量插入数据到MySQL
java·开发语言·数据库·mysql·intellij-idea
yoona10202 小时前
Rust编程语言入门教程(八)所有权 Stack vs Heap
开发语言·后端·rust·区块链·学习方法
莲动渔舟2 小时前
国产编辑器EverEdit - 在编辑器中对文本进行排序
java·开发语言·编辑器