我有以下课程:
public class Transfer {
private String fromAccountID;
private String toAccountID;
private double amount;
}
以及List
的{{1}}:
Transfer
我知道如何获得一个转移历史记录:
....
private List<Transfer> transfers = new ArrayList<>();
但我想要transfers.stream().filter(transfer ->
transfer.getFromAccountID().equals(id)).findFirst().get();
和fromAccountID
,所以结果将是toAccountID
List
。如何使用Java8 Transfer
过滤函数?
答案 0 :(得分:4)
您可以filter
两个属性(getFromAccountID()
和getToAccountID()
)和collect
通过filter
到List
的元素:
List<Transfer> filtered =
transfers.stream()
.filter(t -> t.getFromAccountID().equals(id) || t.getToAccountID().equals(id))
.collect(Collectors.toList());
答案 1 :(得分:4)
按两个属性过滤并收集到列表中。
List<Transfer> resultSet =
transfers.stream().filter(t -> id.equals(t.getFromAccountID()) ||
id.equals(t.toAccountID()))
.collect(Collectors.toList());