Java8 多参数流过滤

标签 java java-8 java-stream

我有以下类(class):

public class Transfer {
    private String fromAccountID;
    private String toAccountID;
    private double amount;
}

TransferList:

....
private List<Transfer> transfers = new ArrayList<>();

我知道如何获取一个传输历史:

transfers.stream().filter(transfer -> 
    transfer.getFromAccountID().equals(id)).findFirst().get();

但我想通过 fromAccountIDtoAccountID 获取,所以结果将是 ListTransfer秒。我如何使用 Java8 Stream 过滤器函数做到这一点?

最佳答案

按两个属性过滤并收集到列表中。

List<Transfer> resultSet = 
      transfers.stream().filter(t -> id.equals(t.getFromAccountID()) || 
                        id.equals(t.toAccountID()))
               .collect(Collectors.toList());

关于Java8 多参数流过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47971396/

相关文章:

java - 调用类构造函数和使用 Class.forName().newInstance 的区别

java - java线程死锁

java - 创建包含不同对象的列表

scala - 这是 java lambda 在设计中的限制吗

java - 关闭正在处理 Stream 的 ExecutorService

Java 8 HashMap

java - 创建扩展 javax.ws.rs.core.Application 的可重用 "base"类

jpa - Flyway Spring Boot Autowired Beans with JPA Dependency

jpa - 如何将 java.util.Date 转换为 Java8 java.time.YearMonth

java - java 8 Stream API 中的分组依据