我有一个customer顾客类集合,其中有字段消费金额amount,类型是BigDeciamal,我要使用流从中筛选出消费金额,这个方法如何编写
时间: 2024-12-15 13:24:02 浏览: 3
你可以使用Java 8的Stream API来轻松地从`Customer`类的集合中筛选出消费金额。首先,假设`Customer`类有一个getter方法获取消费金额`getAmount()`。以下是方法的示例:
```java
import java.math.BigDecimal;
import java.util.List;
import java.util.stream.Collectors;
public List<Customer> filterCustomersByAmount(BigDecimal minAmount, BigDecimal maxAmount) {
return customerList.stream() // 创建流
.filter(customer -> customer.getAmount().compareTo(minAmount) >= 0 && customer.getAmount().compareTo(maxAmount) <= 0) // 筛选条件
.collect(Collectors.toList()); // 将流转换回列表
}
```
这个方法接受两个`BigDecimal`类型的参数,分别作为消费金额的最小值和最大值,然后返回一个新列表,其中包含满足这两个条件的`Customer`对象。
阅读全文