通过for或者foreach循环的方式逐个累加某个字段的和太过繁琐,本文通过stream流的方式展示一行代码求字段和。直接上代码
/**
* @author Mikey
* @version 1.0
* @date 2022/4/27 15:13
* @description
*/
public class CalculateDemo {
public static void main(String[] args) {
List<BigDecimal> test1 = new ArrayList<>();
test1.add(new BigDecimal(2));
test1.add(new BigDecimal(2.5));
BigDecimal result1 = test1.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
System.out.println("decimal计算值:" + result1);
List<Integer> test2 = new ArrayList<>();
test2.add(2);
test2.add(1);
// long,double将mapToInt替换为mapToDouble mapToLong
int result2 = test2.stream().mapToInt(t -> t).sum();
double result3 = test2.stream().mapToDouble(t -> t).sum();
long result4 = test2.stream().mapToLong(t -> t).sum();
System.out.println("int计算值:" + result2);
System.out.println("double计算值:" + result3);
System.out.println("long计算值:" + result4);
}
}
效果展示
decimal计算值:4.5
int计算值:3
double计算值:3.0
long计算值:3
觉得可行的伙伴求个赞