繁体   English   中英

Java8流过滤器由多个参数组成

[英]Java8 stream filter by multiple parameters

我有以下课程:

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 ,因此结果将是“ Transfer List ”。 如何使用Java8 Stream过滤功能?

您可以filter由两个属性( getFromAccountID()getToAccountID()collect了通过内容filterList

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM