給定以下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