? ? ? 在一些计算数量的场景中,需要对结合数据中的某些字段进行加减乘除运算,本文简要介绍使用stream的规约,对数据进行加减乘除的累计操作
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Account{
private String name;
private Integer amount;
}
public static void main(String[] args) {
List<Account> list = new ArrayList<>();
list.add(new Account("晴雯",100));
list.add(new Account("麝月",50));
list.add(new Account("袭人",30));
list.add(new Account("绮霰",20));
/// 求和
Integer sum = list.stream().map(Account::getAmount).reduce(0, Integer::sum);
/// 减法
Integer sub = list.stream().map(Account::getAmount).reduce(200, (a,b)->a-b);
///乘法
Integer mul = list.stream().map(Account::getAmount).reduce(1, (a,b)->a*b);
/// 除法
Integer div = list.stream().map(Account::getAmount).reduce(300000, (a,b)->a/b);
System.out.println("sum====="+sum);
System.out.println("sub====="+sub);
System.out.println("mul====="+mul);
System.out.println("div====="+div);
}