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();
相关推荐
不想写bug呀1 分钟前
多线程案例——单例模式
java·开发语言·单例模式
我不会写代码njdjnssj34 分钟前
网络编程 TCP UDP
java·开发语言·jvm
李少兄9 天前
解决OSS存储桶未创建导致的XML错误
xml·开发语言·python
阿蒙Amon9 天前
《C#图解教程 第5版》深度推荐
开发语言·c#
学Linux的语莫9 天前
python基础语法
开发语言·python
暖馒9 天前
C#委托与事件的区别
开发语言·c#
嘉琪0019 天前
2025——js 面试题
开发语言·javascript·ecmascript
Jinxiansen02119 天前
Vue3 中 ref 与 reactive 使用场景总结(含对比与示例)
开发语言·javascript·ecmascript
时空自由民.9 天前
C++ 不同线程之间传值
开发语言·c++·算法
止观止9 天前
Rust智能指针演进:从堆分配到零复制的内存管理艺术
开发语言·后端·rust