版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wd2014610/article/details/82914969
一、下面写了一个例子
定义一个User类
package com.newframe.controllers.api;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author:wangdong
* @description:
*/
@Data
public class User {
//用户的id
private Long id;
//金额
private BigDecimal money;
public User(Long id,BigDecimal money){
this.id=id;
this.money=money;
}
}
对这个类中的List
集合User
的钱进行相加求和。
package com.newframe.controllers.api;
import com.google.common.collect.Lists;
import java.math.BigDecimal;
import java.util.List;
/**
* @author:wangdong
* @description:
*/
public class TestStreamReduce {
public static void main(String[] args) {
List<User> users = Lists.newArrayList();
BigDecimal result1 = BigDecimal.ZERO;
for (Long i = 0L; i < 10; i++){
User user = new User(i,new BigDecimal(83.23+i));
users.add(user);
}
//计算用户这个list集合中,所有用户的钱加起来的金额
//加
BigDecimal result2 = users.stream().map(User::getMoney).reduce(BigDecimal.ZERO,BigDecimal::add);
System.out.println(result2);
}
}
好啦。这里只是一个简单的示例。通过stream
你可以完成更多厉害的操作。
起到一个抛砖引玉的效果。
菜鸟网络关于这个的详细说明。Java 8 Stream