我有以下类(class):
public class Transfer {
private String fromAccountID;
private String toAccountID;
private double amount;
}
和 Transfer
的 List
:
....
private List<Transfer> transfers = new ArrayList<>();
我知道如何获取一个传输历史:
transfers.stream().filter(transfer ->
transfer.getFromAccountID().equals(id)).findFirst().get();
但我想通过 fromAccountID
和 toAccountID
获取,所以结果将是 List
的 Transfer
秒。我如何使用 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/