给定以下Transaction
类的List
,使用Java 8 lambda,我想要获得List
的ResultantDTO
,每个帐户类型一个。Java 8 lambda分组缩减和映射
public class Transaction {
private final BigDecimal amount;
private final String accountType;
private final String accountNumber;
}
public class ResultantDTO {
private final List<Transaction> transactionsForAccount;
public ResultantDTO(List<Transaction> transactionsForAccount){
this.transactionsForAccount = transactionsForAccount;
}
}
到目前为止,我通过accountType
使用下面的代码组List<Transaction>
。
Map<String, List<Transaction>> transactionsGroupedByAccountType = transactions
.stream()
.collect(groupingBy(Transaction::getAccountType));
我如何返回List<ResultantDTO>
,从每个地图钥匙插入构造函数传递的列表,包含每一个accountType
ResultantDTO
?
你可以证明你如何在没有Stream操作的情况下做你想做的事情吗? – Radiodef